无关风月
6 天以前 4e124926ee6ee682084466067ae37550fca475fa
cloud-server-communityWorldCup/src/main/java/com/dsh/communityWorldCup/service/impl/WorldCupServiceImpl.java
@@ -849,10 +849,13 @@
     * @param id
     */
    @Override
    public void cancelWorldCupRefund(Integer id) {
    public void cancelWorldCupRefund(Integer id) throws Exception {
        //免费除外
        List<WorldCupPayment> list2 = worldCupPaymentService.list(new QueryWrapper<WorldCupPayment>().eq("worldCupId", id)
                .ne("payType", 0).eq("payStatus", 2).eq("state", 1));
        List<WorldCupStore> list = worldCupStoreService.lambdaQuery().eq(WorldCupStore::getWorldCupId, id).list();
        Integer storeId = list.get(0).getStoreId();
        Store store = storeClient.queryStoreById(storeId);
        for (WorldCupPayment worldCupPayment : list2) {
            List<WorldCupPaymentParticipant> list1 = worldCupPaymentParticipantService.list(new QueryWrapper<WorldCupPaymentParticipant>()
                    .eq("worldCupId", id).eq("worldCupPaymentId", worldCupPayment.getId()).eq("alreadyEntered", 0));
@@ -860,14 +863,25 @@
            BigDecimal multiply = worldCupPayment.getUnitPrice().multiply(new BigDecimal(list1.size()));
            //微信支付
            if(worldCupPayment.getPayType() == 1){
                Map<String, String> map = payMoneyUtil.wxRefund(worldCupPayment.getPayOrderNo(), worldCupPayment.getCode(),
                        worldCupPayment.getAmount().toString(), multiply.toString(), "/base/worldCup/wxRefundWorldCupCallback");
                if(!"SUCCESS".equals(map.get("return_code"))){
                    System.err.println("-------------微信退款失败---------");
                    System.err.println(map.get("return_msg"));
                }else{
                    worldCupPayment.setRefundAmount(multiply);
                    worldCupPaymentService.updateById(worldCupPayment);
                if (store.getOperatorId()!=null && store.getOperatorId()!=0){
                    String smidVx= storeClient.getmerchantNumberByOperatorId(store.getOperatorId());
                    if (!StringUtils.hasLength(smidVx)){
                        System.err.println("运营商未配置微信商户号,获取支付失败!");
                    }
                    SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
                    String codeRefund = sdf.format(new Date()) + UUIDUtil.getNumberRandom(5);// 退款单号
                    // 运营商退款
                    payMoneyUtil.weixinRefundV3(smidVx, codeRefund, worldCupPayment.getPayOrderNo(), worldCupPayment.getAmount().toString(), "/base/worldCup/wxRefundWorldCupCallback1");
                }else {
                    Map<String, String> map = payMoneyUtil.wxRefund(worldCupPayment.getPayOrderNo(), worldCupPayment.getCode(),
                            worldCupPayment.getAmount().toString(), multiply.toString(), "/base/worldCup/wxRefundWorldCupCallback");
                    if (!"SUCCESS".equals(map.get("return_code"))) {
                        System.err.println("-------------微信退款失败---------");
                        System.err.println(map.get("return_msg"));
                    } else {
                        worldCupPayment.setRefundAmount(multiply);
                        worldCupPaymentService.updateById(worldCupPayment);
                    }
                }
            }
            //支付宝支付