From e63cd0493926363a694a6c387fe4ee77dff9d1a2 Mon Sep 17 00:00:00 2001
From: yanderong <307678080@qq.com>
Date: 星期五, 03 七月 2026 12:42:09 +0800
Subject: [PATCH] feat: 放心行增加用户余额变更记录

---
 UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/vo/BalanceModifyRecordVo.java |   22 ++++++++++++++++------
 1 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/vo/BalanceModifyRecordVo.java b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/vo/BalanceModifyRecordVo.java
index 36dcf13..e712511 100644
--- a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/vo/BalanceModifyRecordVo.java
+++ b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/vo/BalanceModifyRecordVo.java
@@ -1,5 +1,6 @@
 package com.stylefeng.guns.modular.system.model.vo;
 
+import com.stylefeng.guns.modular.system.model.UserInfo;
 import lombok.Data;
 
 import java.math.BigDecimal;
@@ -53,7 +54,7 @@
      */
     private BigDecimal money;
 
-    public static BalanceModifyRecordVo convert(Integer id, String nickName, String phone, BigDecimal amount) {
+    public static BalanceModifyRecordVo convert(UserInfo oldUser, UserInfo newUser) {
         Random random = new Random();
         StringBuilder result = new StringBuilder();
         for (int i = 0; i < 8; i++) {
@@ -61,12 +62,21 @@
         }
         BalanceModifyRecordVo recordVo = new  BalanceModifyRecordVo();
         recordVo.setRecordID(result.toString());
-        recordVo.setUserName(nickName);
-        recordVo.setPhone(phone);
-        recordVo.setUserId(id);
-        recordVo.setType(1); // 出行卡兑换增加
-        recordVo.setMoney(amount);
+        recordVo.setUserName(newUser.getNickName());
+        recordVo.setPhone(newUser.getPhone());
+        recordVo.setUserId(newUser.getId());
         recordVo.setCreateTime(new Date());
+        BigDecimal newBalance = newUser.getBalance() != null ? BigDecimal.valueOf(newUser.getBalance()) : BigDecimal.ZERO;
+        BigDecimal oldBalance = oldUser.getBalance() != null ? BigDecimal.valueOf(oldUser.getBalance()) : BigDecimal.ZERO;
+        BigDecimal amount = newBalance.subtract(oldBalance);
+        // 判断方向
+        if (amount.compareTo(BigDecimal.ZERO) > 0) {
+            recordVo.setType(1); // 增加金额(充值)
+            recordVo.setMoney(amount);
+        } else {
+            recordVo.setType(2);  // 减少金额,转为正数(消费)
+            recordVo.setMoney(amount.abs());
+        }
         return recordVo;
     }
 }

--
Gitblit v1.7.1