yanderong
2026-07-03 e63cd0493926363a694a6c387fe4ee77dff9d1a2
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;
    }
}