From 0d4c9f50ee2bc3e4a03abd91ac7c9e03891d37f2 Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期四, 20 二月 2025 17:41:19 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/mx_charging_pile

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java |   37 +++++++++++++++++++++++++++++++------
 1 files changed, 31 insertions(+), 6 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
index f8ee479..ba79837 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java
@@ -915,9 +915,14 @@
 				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");
+					BigDecimal refund_fee = new BigDecimal(amount1.get("refund_fee").toString()).divide(new BigDecimal(100));
+					chargingOrderRefund.setRefundFee(refund_fee);
+					chargingOrderRefundService.updateById(chargingOrderRefund);
 				}
 			}
 			if(2 == rechargePaymentType){
@@ -2434,9 +2439,14 @@
 					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");
+						BigDecimal refund_fee = new BigDecimal(amount1.get("refund_fee").toString()).divide(new BigDecimal(100));
+						chargingOrderRefund.setRefundFee(refund_fee);
+						chargingOrderRefundService.updateById(chargingOrderRefund);
 					}
 				}
 				if(2 == rechargePaymentType){
@@ -2592,12 +2602,17 @@
 					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");
+						BigDecimal refund_fee = new BigDecimal(amount1.get("refund_fee").toString()).divide(new BigDecimal(100));
+						chargingOrderRefund.setRefundFee(refund_fee);
+						chargingOrderRefundService.updateById(chargingOrderRefund);
 					}
 				}
 
@@ -2654,12 +2669,17 @@
 					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");
+						BigDecimal refund_fee = new BigDecimal(amount1.get("refund_fee").toString()).divide(new BigDecimal(100));
+						chargingOrderRefund.setRefundFee(refund_fee);
+						shoppingOrderRefundService.updateById(chargingOrderRefund);
 					}
 				}
 
@@ -2713,12 +2733,17 @@
 				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");
+					BigDecimal refund_fee = new BigDecimal(amount1.get("refund_fee").toString()).divide(new BigDecimal(100));
+					chargingOrderRefund.setRefundFee(refund_fee);
+					vipOrderRefundService.updateById(chargingOrderRefund);
 				}
 			}
 

--
Gitblit v1.7.1