yanderong
2026-07-06 6273b0955638dbe581cd5403b646eeea39daa477
feat: 放心行增加用户余额变更记录
3个文件已修改
18 ■■■■■ 已修改文件
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/core/intercept/BalanceUpdateInterceptor.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/vo/BalanceModifyRecordVo.java 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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。
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;
    }
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 {