Преглед изворни кода

计算完成充值接口修改

wangzhijun пре 1 дан
родитељ
комит
6993002d91

+ 15 - 6
nightFragrance-massage/src/main/java/com/ylx/massage/service/impl/TRechargeServiceImpl.java

@@ -290,14 +290,23 @@ public class TRechargeServiceImpl extends ServiceImpl<TRechargeMapper, TRecharge
 
     @Override
     public int countSuccessRecharges(String openId, Date rechargeQueryTime) {
-        // 统计用户在指定时间之前成功的充值次数
-        // 支付状态为1表示已支付(充值成功)
+        // 统计用户在指定时间起(含)之后成功的充值次数
+        // 支付状态为 1 表示已支付(充值成功)
+        if (StrUtil.isBlank(openId)) {
+            return 0;
+        }
         LambdaQueryWrapper<TRecharge> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(TRecharge::getcOpenId, openId)
-                .eq(TRecharge::getPayStatus, 1)
-                .lt(TRecharge::getDtCreateTime, rechargeQueryTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
-        
-        return Math.toIntExact(this.count(queryWrapper));
+                .eq(TRecharge::getPayStatus, 1);
+
+        // rechargeQueryTime 为 null 表示不限制起点(永久活动/全量统计)
+        if (rechargeQueryTime != null) {
+            LocalDateTime start = LocalDateTime.ofInstant(rechargeQueryTime.toInstant(), ZoneId.systemDefault());
+            queryWrapper.ge(TRecharge::getDtCreateTime, start);
+        }
+
+        long cnt = this.count(queryWrapper);
+        return cnt > Integer.MAX_VALUE ? Integer.MAX_VALUE : (int) cnt;
     }
 
     /**