From 1baa21c114f634b8ecc3af64efcfaab6a57a571e Mon Sep 17 00:00:00 2001
From: yanderong <307678080@qq.com>
Date: 星期六, 11 七月 2026 14:33:25 +0800
Subject: [PATCH] feat: 增加余额变更记录

---
 UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
index c88f2aa..881ad42 100644
--- a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
+++ b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -5,6 +5,7 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.stylefeng.guns.core.common.constant.state.BalanceChangeType;
 import com.stylefeng.guns.core.util.ToolUtil;
 import com.stylefeng.guns.modular.account.controller.AppOrderController;
 import com.stylefeng.guns.modular.crossCity.dao.OrderCrossCityMapper;
@@ -1348,6 +1349,7 @@
 //                if(resultUtil.getCode()==500){
 //                    return ResultUtil.error("电子余额不足,无法完成支付");
 //                }
+				userInfo.setBalanceChangeType(BalanceChangeType.CONSUME.getCode());
 				userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(query.getMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
 				//添加交易明细
 				transactionDetailsService.saveData(uid, "快车取消订单", query.getMoney(), 2, 1, 1, 1, id);
@@ -2126,7 +2128,7 @@
 			if (userInfo.getBalance() == null || userInfo.getBalance() < orderMoney) {
 				return ResultUtil.error("余额不足,无法完成支付", "");
 			}
-			
+			userInfo.setBalanceChangeType(BalanceChangeType.CONSUME.getCode());
 			userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(orderMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
 			
 			boolean isPrepayFirstStage = isPrivateCarPrepayFirstStage(orderPrivateCar);
@@ -2441,7 +2443,7 @@
 			if (userInfo.getBalance() == null || userInfo.getBalance() < orderMoney) {
 				return ResultUtil.error("余额不足,无法完成支付");
 			}
-
+			userInfo.setBalanceChangeType(BalanceChangeType.CONSUME.getCode());
 			userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(orderMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
 
 			boolean isPrepayFirstStage = isPrivateCarPrepayFirstStage(orderPrivateCar);
@@ -2843,6 +2845,7 @@
 
 	private ResultUtil refundPrivateCarPrepayDifference(OrderPrivateCar orderPrivateCar, UserInfo userInfo, Double refundAmount) throws Exception {
 		if (Integer.valueOf(3).equals(orderPrivateCar.getPayType())) {
+			userInfo.setBalanceChangeType(BalanceChangeType.REFUND.getCode());
 			userInfo.setBalance(new BigDecimal(null != userInfo.getBalance() ? userInfo.getBalance() : 0D)
 					.add(toMoney(refundAmount)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
 			userInfoService.updateById(userInfo);
@@ -3035,6 +3038,7 @@
 			if (userInfo == null) {
 				throw new RuntimeException("用户信息不存在,无法退款");
 			}
+			userInfo.setBalanceChangeType(BalanceChangeType.REFUND.getCode());
 			userInfo.setBalance(new BigDecimal(null != userInfo.getBalance() ? userInfo.getBalance() : 0)
 					.add(new BigDecimal(refundAmount)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
 			userInfoService.updateById(userInfo);
@@ -3086,6 +3090,7 @@
 			if (userInfo == null) {
 				return ResultUtil.error("用户信息不存在,无法退款");
 			}
+			userInfo.setBalanceChangeType(BalanceChangeType.REFUND.getCode());
 			userInfo.setBalance(new BigDecimal(null != userInfo.getBalance() ? userInfo.getBalance() : 0)
 					.add(new BigDecimal(refundAmount)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
 			userInfoService.updateById(userInfo);
@@ -3411,6 +3416,7 @@
 //            if(resultUtil.getCode()==500){
 //                return ResultUtil.error("电子余额不足,无法完成支付");
 //            }
+			userInfo.setBalanceChangeType(BalanceChangeType.CONSUME.getCode());
 			userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(money)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue());
 			
 			OpenCity openCity = openCityService.openCity1(orderPrivateCar.getStartLon().toString(), orderPrivateCar.getStartLat().toString());

--
Gitblit v1.7.1