无关风月
2025-02-21 ae76f22f897cfd438b30829326b6ad36a80eaac0
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -915,9 +915,15 @@
            amount.setTotal(rechargeAmount.multiply(new BigDecimal(100)).intValue());
            amount.setCurrency("CNY");
            model.setAmount(amount);
            R<String> orderR = wxPaymentClient.refundOrderR(model);
            R<Map<String, Object>> orderR = wxPaymentClient.refundOrderR(model);
            if(200 == orderR.getCode()){
               chargingOrderRefundService.save(chargingOrderRefund);
               //手续费
               Map<String, Object> amount1 = (Map<String, Object>) orderR.getData().get("amount");
               Object refund_fee1 = amount1.get("refund_fee");
               BigDecimal refund_fee = new BigDecimal(null == refund_fee1 ? "0" : refund_fee1.toString()).divide(new BigDecimal(100));
               chargingOrderRefund.setRefundFee(refund_fee);
               chargingOrderRefundService.updateById(chargingOrderRefund);
            }
         }
         if(2 == rechargePaymentType){
@@ -2434,9 +2440,15 @@
               amount.setTotal(rechargeAmount.multiply(new BigDecimal(100)).intValue());
               amount.setCurrency("CNY");
               model.setAmount(amount);
               R<String> orderR = wxPaymentClient.refundOrderR(model);
               if(200 == orderR.getCode()){
               R<Map<String, Object>> result = wxPaymentClient.refundOrderR(model);
               if(200 == result.getCode()){
                  chargingOrderRefundService.save(chargingOrderRefund);
                  //手续费
                  Map<String, Object> amount1 = (Map<String, Object>) result.getData().get("amount");
                  Object refund_fee1 = amount1.get("refund_fee");
                  BigDecimal refund_fee = new BigDecimal(null == refund_fee1 ? "0" : refund_fee1.toString()).divide(new BigDecimal(100));
                  chargingOrderRefund.setRefundFee(refund_fee);
                  chargingOrderRefundService.updateById(chargingOrderRefund);
               }
            }
            if(2 == rechargePaymentType){
@@ -2592,12 +2604,18 @@
               amount.setTotal(tChargingOrder.getRechargeAmount().multiply(new BigDecimal(100)).intValue());
               amount.setCurrency("CNY");
               model.setAmount(amount);
               R<String> orderR = wxPaymentClient.refundOrderR(model);
               R<Map<String, Object>> orderR = wxPaymentClient.refundOrderR(model);
               if(200 == orderR.getCode()){
                  tChargingOrder.setRefundStatus(2);
                  tChargingOrder.setRefundAmount((tChargingOrder.getRefundAmount()==null? BigDecimal.valueOf(0) :tChargingOrder.getRefundAmount()).add(payOrderQueryDto.getRefundAmount()));
                  this.baseMapper.updateById(tChargingOrder);
                  chargingOrderRefundService.save(chargingOrderRefund);
                  //手续费
                  Map<String, Object> amount1 = (Map<String, Object>) orderR.getData().get("amount");
                  Object refund_fee1 = amount1.get("refund_fee");
                  BigDecimal refund_fee = new BigDecimal(null == refund_fee1 ? "0" : refund_fee1.toString()).divide(new BigDecimal(100));
                  chargingOrderRefund.setRefundFee(refund_fee);
                  chargingOrderRefundService.updateById(chargingOrderRefund);
               }
            }
@@ -2654,12 +2672,18 @@
               amount.setTotal(tChargingOrder.getPaymentAmount().multiply(new BigDecimal(100)).intValue());
               amount.setCurrency("CNY");
               model.setAmount(amount);
               R<String> orderR = wxPaymentClient.refundOrderR(model);
               R<Map<String, Object>> orderR = wxPaymentClient.refundOrderR(model);
               if(200 == orderR.getCode()){
                  tChargingOrder.setRefundStatus(2);
                  tChargingOrder.setRefundAmount((tChargingOrder.getRefundAmount()==null? BigDecimal.valueOf(0) :tChargingOrder.getRefundAmount()).add(payOrderQueryDto.getRefundAmount()));
                  shoppingOrderService.updateById(tChargingOrder);
                  shoppingOrderRefundService.save(chargingOrderRefund);
                  //手续费
                  Map<String, Object> amount1 = (Map<String, Object>) orderR.getData().get("amount");
                  Object refund_fee1 = amount1.get("refund_fee");
                  BigDecimal refund_fee = new BigDecimal(null == refund_fee1 ? "0" : refund_fee1.toString()).divide(new BigDecimal(100));
                  chargingOrderRefund.setRefundFee(refund_fee);
                  shoppingOrderRefundService.updateById(chargingOrderRefund);
               }
            }
@@ -2713,12 +2737,18 @@
            amount.setTotal(tChargingOrder.getPaymentAmount().multiply(new BigDecimal(100)).intValue());
            amount.setCurrency("CNY");
            model.setAmount(amount);
            R<String> orderR = wxPaymentClient.refundOrderR(model);
            R<Map<String, Object>> orderR = wxPaymentClient.refundOrderR(model);
            if(200 == orderR.getCode()){
               tChargingOrder.setRefundStatus(2);
               tChargingOrder.setRefundAmount((tChargingOrder.getRefundAmount()==null? BigDecimal.valueOf(0) :tChargingOrder.getRefundAmount()).add(payOrderQueryDto.getRefundAmount()));
               vipOrderService.updateById(tChargingOrder);
               vipOrderRefundService.save(chargingOrderRefund);
               //手续费
               Map<String, Object> amount1 = (Map<String, Object>) orderR.getData().get("amount");
               Object refund_fee1 = amount1.get("refund_fee");
               BigDecimal refund_fee = new BigDecimal(null == refund_fee1 ? "0" : refund_fee1.toString()).divide(new BigDecimal(100));
               chargingOrderRefund.setRefundFee(refund_fee);
               vipOrderRefundService.updateById(chargingOrderRefund);
            }
         }