From 50dde470ec18f292e8e58547ef1c4a4cbd4138b2 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 24 九月 2025 15:08:54 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/TChargingOrderServiceImpl.java |  150 +++++++++++++++++++++++++-------------------------
 1 files changed, 75 insertions(+), 75 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 88b4cf1..4297ea2 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
@@ -1532,6 +1532,7 @@
 		if (siteIds.isEmpty()) siteIds.add(-1);
 		dto.setSiteIds(siteIds);
 		List<ChargingOrderVO> list = this.baseMapper.chargingOrder(pageInfo, dto, startTime1, startTime2, endTime1, endTime2);
+
 		BigDecimal total = new BigDecimal("0");
 		long time = 0L;
 		BigDecimal electronicMoney = new BigDecimal("0");
@@ -2885,7 +2886,6 @@
 				tChargingOrder.setStatus(5);
 			}
 			
-			
 			TChargingOrderRefund chargingOrderRefund = new TChargingOrderRefund();
 			chargingOrderRefund.setChargingOrderId(tChargingOrder.getId());
 			chargingOrderRefund.setRefundAmount(payOrderQueryDto.getRefundAmount());
@@ -2894,7 +2894,7 @@
 			chargingOrderRefund.setRefundTime(LocalDateTime.now());
 			chargingOrderRefund.setCode(tChargingOrder.getCode());
 			SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
-			chargingOrderRefund.setRefundCode("GDF" + sdf.format(new Date()) + (Double.valueOf(Math.random() * 1000).intValue()));
+			chargingOrderRefund.setRefundCode("CDF" + sdf.format(new Date()) + (Double.valueOf(Math.random() * 1000).intValue()));
 			chargingOrderRefund.setRefundTitle("后台退款");
 			chargingOrderRefund.setRefundContent("后台退款");
 			chargingOrderRefund.setRefundReason("后台退款");
@@ -2908,7 +2908,7 @@
 				model.setOut_refund_no(chargingOrderRefund.getRefundCode());
 				model.setTransaction_id(tChargingOrder.getRechargeSerialNumber());
 				model.setReason("取消订单");
-				model.setNotify_url("/order/t-shopping-order/cancelShoppingOrderWxRefund");
+				model.setNotify_url("/payment/wx/refund/notify");
 				WxPaymentRefundModel.RefundAmount amount = new WxPaymentRefundModel.RefundAmount();
 				amount.setRefund(payOrderQueryDto.getRefundAmount().multiply(new BigDecimal(100)).intValue());
 				amount.setTotal(tChargingOrder.getRechargeAmount().multiply(new BigDecimal(100)).intValue());
@@ -2961,69 +2961,69 @@
 			}
 		}
 		if (payOrderQueryDto.getType() == 2) {
-			TShoppingOrder tChargingOrder = shoppingOrderService.getById(payOrderQueryDto.getOrderId());
-			if (tChargingOrder.getPaymentAmount().compareTo(payOrderQueryDto.getRefundAmount()) == -1) {
+			TShoppingOrder shoppingOrder = shoppingOrderService.getById(payOrderQueryDto.getOrderId());
+			if (shoppingOrder.getPaymentAmount().compareTo(payOrderQueryDto.getRefundAmount()) == -1) {
 				return R.fail("退款金额需小于支付金额");
 			}
-			if ((tChargingOrder.getPaymentAmount().subtract(tChargingOrder.getRefundAmount()).compareTo(payOrderQueryDto.getRefundAmount())) == 0) {
-				tChargingOrder.setStatus(5);
+			if ((shoppingOrder.getPaymentAmount().subtract(shoppingOrder.getRefundAmount()).compareTo(payOrderQueryDto.getRefundAmount())) == 0) {
+				shoppingOrder.setStatus(5);
 			}
 			
-			TShoppingOrderRefund chargingOrderRefund = new TShoppingOrderRefund();
-			chargingOrderRefund.setShoppingOrderId(tChargingOrder.getId());
-			chargingOrderRefund.setRefundAmount(payOrderQueryDto.getRefundAmount());
-			chargingOrderRefund.setRefundStatus(1);
-			chargingOrderRefund.setPayType(tChargingOrder.getPaymentType());
-			chargingOrderRefund.setRefundTime(LocalDateTime.now());
-			chargingOrderRefund.setCode(tChargingOrder.getCode());
+			TShoppingOrderRefund shoppingOrderRefund = new TShoppingOrderRefund();
+			shoppingOrderRefund.setShoppingOrderId(shoppingOrder.getId());
+			shoppingOrderRefund.setRefundAmount(payOrderQueryDto.getRefundAmount());
+			shoppingOrderRefund.setRefundStatus(1);
+			shoppingOrderRefund.setPayType(shoppingOrder.getPaymentType());
+			shoppingOrderRefund.setRefundTime(LocalDateTime.now());
+			shoppingOrderRefund.setCode(shoppingOrder.getCode());
 			SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
-			chargingOrderRefund.setRefundCode("GDF" + sdf.format(new Date()) + (Double.valueOf(Math.random() * 1000).intValue()));
-			chargingOrderRefund.setRefundTitle("后台退款");
-			chargingOrderRefund.setRefundContent("后台退款");
-			chargingOrderRefund.setRefundReason("后台退款");
-			chargingOrderRefund.setRefundRemark(payOrderQueryDto.getRemark());
-			chargingOrderRefund.setRefundTotalAmount(tChargingOrder.getRefundAmount().add(payOrderQueryDto.getRefundAmount()));
-			chargingOrderRefund.setPayAmount(tChargingOrder.getPaymentAmount());
+			shoppingOrderRefund.setRefundCode("GWF" + sdf.format(new Date()) + (Double.valueOf(Math.random() * 1000).intValue()));
+			shoppingOrderRefund.setRefundTitle("后台退款");
+			shoppingOrderRefund.setRefundContent("后台退款");
+			shoppingOrderRefund.setRefundReason("后台退款");
+			shoppingOrderRefund.setRefundRemark(payOrderQueryDto.getRemark());
+			shoppingOrderRefund.setRefundTotalAmount(shoppingOrder.getRefundAmount().add(payOrderQueryDto.getRefundAmount()));
+			shoppingOrderRefund.setPayAmount(shoppingOrder.getPaymentAmount());
 			
-			if (1 == tChargingOrder.getPaymentType()) {
+			if (1 == shoppingOrder.getPaymentType()) {
 				WxPaymentRefundModel model = new WxPaymentRefundModel();
-				model.setOut_trade_no(tChargingOrder.getCode());
-				model.setOut_refund_no(chargingOrderRefund.getRefundCode());
-				model.setTransaction_id(tChargingOrder.getSerialNumber());
+				model.setOut_trade_no(shoppingOrder.getCode());
+				model.setOut_refund_no(shoppingOrderRefund.getRefundCode());
+				model.setTransaction_id(shoppingOrder.getSerialNumber());
 				model.setReason("取消订单");
-				model.setNotify_url("/order/t-shopping-order/cancelShoppingOrderWxRefund");
+				model.setNotify_url("/payment/wx/refund/notify");
 				WxPaymentRefundModel.RefundAmount amount = new WxPaymentRefundModel.RefundAmount();
 				amount.setRefund(payOrderQueryDto.getRefundAmount().multiply(new BigDecimal(100)).intValue());
-				amount.setTotal(tChargingOrder.getPaymentAmount().multiply(new BigDecimal(100)).intValue());
+				amount.setTotal(shoppingOrder.getPaymentAmount().multiply(new BigDecimal(100)).intValue());
 				amount.setCurrency("CNY");
 				model.setAmount(amount);
 				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);
+					shoppingOrder.setRefundStatus(2);
+					shoppingOrder.setRefundAmount((shoppingOrder.getRefundAmount() == null ? BigDecimal.valueOf(0) : shoppingOrder.getRefundAmount()).add(payOrderQueryDto.getRefundAmount()));
+					shoppingOrderService.updateById(shoppingOrder);
+					shoppingOrderRefundService.save(shoppingOrderRefund);
 					//手续费
 					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);
+					shoppingOrderRefund.setRefundFee(refund_fee);
+					shoppingOrderRefundService.updateById(shoppingOrderRefund);
 				}
 			}
 			
-			if (2 == tChargingOrder.getPaymentType()) {
+			if (2 == shoppingOrder.getPaymentType()) {
 				RefundReq dto = new RefundReq();
-				dto.setOutTradeNo(tChargingOrder.getCode());
-				dto.setOutRequestNo(tChargingOrder.getCode());
+				dto.setOutTradeNo(shoppingOrder.getCode());
+				dto.setOutRequestNo(shoppingOrder.getCode());
 				dto.setRefundAmount(payOrderQueryDto.getRefundAmount().toString());
 				dto.setRefundReason("取消订单");
 				RefundResp resp = aliPaymentClient.refund(dto).getData();
 				if (null != resp) {
-					tChargingOrder.setRefundStatus(2);
-					tChargingOrder.setRefundAmount((tChargingOrder.getRefundAmount() == null ? BigDecimal.valueOf(0) : tChargingOrder.getRefundAmount()).add(payOrderQueryDto.getRefundAmount()));
-					shoppingOrderService.updateById(tChargingOrder);
-					shoppingOrderRefundService.save(chargingOrderRefund);
+					shoppingOrder.setRefundStatus(2);
+					shoppingOrder.setRefundAmount((shoppingOrder.getRefundAmount() == null ? BigDecimal.valueOf(0) : shoppingOrder.getRefundAmount()).add(payOrderQueryDto.getRefundAmount()));
+					shoppingOrderService.updateById(shoppingOrder);
+					shoppingOrderRefundService.save(shoppingOrderRefund);
 				}
 			}
 //				if(3 == tChargingOrder.getPaymentType()){
@@ -3044,65 +3044,65 @@
 		}
 		
 		if (payOrderQueryDto.getType() == 3) {
-			TVipOrder tChargingOrder = vipOrderService.getById(payOrderQueryDto.getOrderId());
-			if (tChargingOrder.getPaymentAmount().compareTo(payOrderQueryDto.getRefundAmount()) == -1) {
+			TVipOrder vipOrder = vipOrderService.getById(payOrderQueryDto.getOrderId());
+			if (vipOrder.getPaymentAmount().compareTo(payOrderQueryDto.getRefundAmount()) == -1) {
 				return R.fail("退款金额需小于支付金额");
 			}
-			TVipOrderRefund chargingOrderRefund = new TVipOrderRefund();
-			chargingOrderRefund.setVipOrderId(tChargingOrder.getId());
-			chargingOrderRefund.setRefundAmount(payOrderQueryDto.getRefundAmount());
-			chargingOrderRefund.setRefundStatus(1);
-			chargingOrderRefund.setPayType(tChargingOrder.getPaymentType());
-			chargingOrderRefund.setRefundTime(LocalDateTime.now());
-			chargingOrderRefund.setCode(tChargingOrder.getCode());
+			TVipOrderRefund vipOrderRefund = new TVipOrderRefund();
+			vipOrderRefund.setVipOrderId(vipOrder.getId());
+			vipOrderRefund.setRefundAmount(payOrderQueryDto.getRefundAmount());
+			vipOrderRefund.setRefundStatus(1);
+			vipOrderRefund.setPayType(vipOrder.getPaymentType());
+			vipOrderRefund.setRefundTime(LocalDateTime.now());
+			vipOrderRefund.setCode(vipOrder.getCode());
 			SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
-			chargingOrderRefund.setRefundCode("GDF" + sdf.format(new Date()) + (Double.valueOf(Math.random() * 1000).intValue()));
-			chargingOrderRefund.setRefundTitle("后台退款");
-			chargingOrderRefund.setRefundContent("后台退款");
-			chargingOrderRefund.setRefundReason("后台退款");
-			chargingOrderRefund.setRefundRemark(payOrderQueryDto.getRemark());
-			chargingOrderRefund.setRefundTotalAmount(tChargingOrder.getRefundAmount().add(payOrderQueryDto.getRefundAmount()));
-			chargingOrderRefund.setPayAmount(tChargingOrder.getPaymentAmount());
+			vipOrderRefund.setRefundCode("HYF" + sdf.format(new Date()) + (Double.valueOf(Math.random() * 1000).intValue()));
+			vipOrderRefund.setRefundTitle("后台退款");
+			vipOrderRefund.setRefundContent("后台退款");
+			vipOrderRefund.setRefundReason("后台退款");
+			vipOrderRefund.setRefundRemark(payOrderQueryDto.getRemark());
+			vipOrderRefund.setRefundTotalAmount(vipOrder.getRefundAmount().add(payOrderQueryDto.getRefundAmount()));
+			vipOrderRefund.setPayAmount(vipOrder.getPaymentAmount());
 			
-			if (1 == tChargingOrder.getPaymentType()) {
+			if (1 == vipOrder.getPaymentType()) {
 				WxPaymentRefundModel model = new WxPaymentRefundModel();
-				model.setOut_trade_no(tChargingOrder.getCode());
-				model.setOut_refund_no(chargingOrderRefund.getRefundCode());
-				model.setTransaction_id(tChargingOrder.getSerialNumber());
+				model.setOut_trade_no(vipOrder.getCode());
+				model.setOut_refund_no(vipOrderRefund.getRefundCode());
+				model.setTransaction_id(vipOrder.getSerialNumber());
 				model.setReason("取消订单");
-				model.setNotify_url("/order/t-shopping-order/cancelShoppingOrderWxRefund");
+				model.setNotify_url("/payment/wx/refund/notify");
 				WxPaymentRefundModel.RefundAmount amount = new WxPaymentRefundModel.RefundAmount();
 				amount.setRefund(payOrderQueryDto.getRefundAmount().multiply(new BigDecimal(100)).intValue());
-				amount.setTotal(tChargingOrder.getPaymentAmount().multiply(new BigDecimal(100)).intValue());
+				amount.setTotal(vipOrder.getPaymentAmount().multiply(new BigDecimal(100)).intValue());
 				amount.setCurrency("CNY");
 				model.setAmount(amount);
 				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);
+					vipOrder.setRefundStatus(2);
+					vipOrder.setRefundAmount((vipOrder.getRefundAmount() == null ? BigDecimal.valueOf(0) : vipOrder.getRefundAmount()).add(payOrderQueryDto.getRefundAmount()));
+					vipOrderService.updateById(vipOrder);
+					vipOrderRefundService.save(vipOrderRefund);
 					//手续费
 					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);
+					vipOrderRefund.setRefundFee(refund_fee);
+					vipOrderRefundService.updateById(vipOrderRefund);
 				}
 			}
 			
-			if (2 == tChargingOrder.getPaymentType()) {
+			if (2 == vipOrder.getPaymentType()) {
 				RefundReq dto = new RefundReq();
-				dto.setOutTradeNo(tChargingOrder.getCode());
-				dto.setOutRequestNo(tChargingOrder.getCode());
+				dto.setOutTradeNo(vipOrder.getCode());
+				dto.setOutRequestNo(vipOrder.getCode());
 				dto.setRefundAmount(payOrderQueryDto.getRefundAmount().toString());
 				dto.setRefundReason("取消订单");
 				RefundResp resp = aliPaymentClient.refund(dto).getData();
 				if (null != resp) {
-					tChargingOrder.setRefundStatus(2);
-					tChargingOrder.setRefundAmount((tChargingOrder.getRefundAmount() == null ? BigDecimal.valueOf(0) : tChargingOrder.getRefundAmount()).add(payOrderQueryDto.getRefundAmount()));
-					vipOrderService.updateById(tChargingOrder);
-					vipOrderRefundService.save(chargingOrderRefund);
+					vipOrder.setRefundStatus(2);
+					vipOrder.setRefundAmount((vipOrder.getRefundAmount() == null ? BigDecimal.valueOf(0) : vipOrder.getRefundAmount()).add(payOrderQueryDto.getRefundAmount()));
+					vipOrderService.updateById(vipOrder);
+					vipOrderRefundService.save(vipOrderRefund);
 				}
 			}
 //			if(3 == tChargingOrder.getPaymentType()){

--
Gitblit v1.7.1