From 6273b0955638dbe581cd5403b646eeea39daa477 Mon Sep 17 00:00:00 2001
From: yanderong <307678080@qq.com>
Date: 星期一, 06 七月 2026 09:32:49 +0800
Subject: [PATCH] feat: 放心行增加用户余额变更记录

---
 DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java                |   10 ++++++----
 UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/vo/BalanceModifyRecordVo.java |    4 +++-
 UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/core/intercept/BalanceUpdateInterceptor.java       |    4 +++-
 3 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
index a4917e0..c23d9ba 100644
--- a/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
+++ b/DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
@@ -453,6 +453,7 @@
              uid = driverService.getUserIdFormRedis(request);
             if(null == uid){
                 return ResultUtil.tokenErr();
+
             }
 
         } catch (Exception e) {
@@ -473,8 +474,8 @@
                     .eq("authState", 2).eq("state", 2));
             Integer finalUid = uid;
             collect = drivers.stream().map(driver -> {
-                String value = (String) redisTemplate.opsForValue().get("dache:DRIVER" + driver.getId());
-                if(ToolUtil.isNotEmpty(value)){
+               /* String value = (String) redisTemplate.opsForValue().get("dache:DRIVER" + driver.getId());
+                if(ToolUtil.isNotEmpty(value)){*/
                     Optional<DriverPosition> driverPosition = driverPositions.stream().filter(position -> position.getDriverId().equals(driver.getId())).findFirst();
                     Map<String, Object> map = new HashMap<>();
                     map.put("driverId", driver.getId());
@@ -482,14 +483,15 @@
                     map.put("lot", driverPosition.isPresent() ? driverPosition.get().getPoint().getX() : "");
                     map.put("lat", driverPosition.isPresent() ? driverPosition.get().getPoint().getY() : "");
                     return map;
-                }
-                return null;
+              /*  }
+                return null;*/
             }).filter(s -> Objects.nonNull(s) && !finalUid.equals(s.get("driverId"))).collect(Collectors.toList());
         }
 //        addMockNearbyDrivers(collect);
         return ResultUtil.success(collect);
     }
 
+
     /**
      * 司机端首页订单热力图。
      * 热力图统计的是订单起点位置,不统计司机位置;订单坐标统一取 startLon/startLat。
diff --git a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/core/intercept/BalanceUpdateInterceptor.java b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/core/intercept/BalanceUpdateInterceptor.java
index 9c135bc..16f4d2a 100644
--- a/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/core/intercept/BalanceUpdateInterceptor.java
+++ b/UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/core/intercept/BalanceUpdateInterceptor.java
@@ -17,6 +17,7 @@
 import java.lang.reflect.Field;
 import java.util.Map;
 import java.util.Objects;
+import java.util.Optional;
 import java.util.Properties;
 
 /**
@@ -68,7 +69,8 @@
 
         // 新增余额的变更记录(所有余额的变更记录都需要存)
         if(Objects.nonNull(oldUser) && Objects.nonNull(newUser)) {
-            getMapper().insertBalanceModifyRecord(BalanceModifyRecordVo.convert(oldUser, newUser));
+            BalanceModifyRecordVo recordVo = BalanceModifyRecordVo.convert(oldUser, newUser);
+            Optional.ofNullable(recordVo).ifPresent(getMapper()::insertBalanceModifyRecord);
         }
         return result;
     }
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 e712511..c24b731 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
@@ -70,7 +70,9 @@
         BigDecimal oldBalance = oldUser.getBalance() != null ? BigDecimal.valueOf(oldUser.getBalance()) : BigDecimal.ZERO;
         BigDecimal amount = newBalance.subtract(oldBalance);
         // 判断方向
-        if (amount.compareTo(BigDecimal.ZERO) > 0) {
+        if (amount.compareTo(BigDecimal.ZERO) == 0){
+            return null;
+        } else if (amount.compareTo(BigDecimal.ZERO) > 0) {
             recordVo.setType(1); // 增加金额(充值)
             recordVo.setMoney(amount);
         } else {

--
Gitblit v1.7.1