无关风月
7 天以前 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,6 +863,16 @@
            BigDecimal multiply = worldCupPayment.getUnitPrice().multiply(new BigDecimal(list1.size()));
            //微信支付
            if(worldCupPayment.getPayType() == 1){
                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"))){
@@ -870,6 +883,7 @@
                    worldCupPaymentService.updateById(worldCupPayment);
                }
            }
            }
            //支付宝支付
            if(worldCupPayment.getPayType() == 2){
                Map<String, String> map = null;