Pārlūkot izejas kodu

bugid1085 【活动】邀请活动添加设置每天最多1人,但是APP端可以绑定多人 邀请多人

zhangchen 1 mēnesi atpakaļ
vecāks
revīzija
05094153c2

+ 9 - 2
alien-store/src/main/java/shop/alien/store/service/impl/ActivityInviteConfigServiceImpl.java

@@ -24,6 +24,8 @@ import shop.alien.util.common.RandomCreateUtil;
 
 import java.time.Instant;
 import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.ZoneId;
 import java.util.Date;
 import java.util.List;
 
@@ -250,8 +252,13 @@ public class ActivityInviteConfigServiceImpl extends ServiceImpl<ActivityInviteC
                        LambdaQueryWrapper<ActivityInviteLog> activityInviteLogLambdaQueryWrapper = new LambdaQueryWrapper<>();
                        activityInviteLogLambdaQueryWrapper.eq(ActivityInviteLog::getInviteUserId, inviteUserId);
                        activityInviteLogLambdaQueryWrapper.eq(ActivityInviteLog::getDeleteFlag, 0);
-                       String today = LocalDate.now().toString();
-                       activityInviteLogLambdaQueryWrapper.between(ActivityInviteLog::getInviteTime, today + " 00:00:00", today + " 23:59:59");
+                       // 使用 Date 对象而不是字符串,确保类型匹配
+                       LocalDate today = LocalDate.now();
+                       LocalDateTime startOfDay = today.atStartOfDay();
+                       LocalDateTime endOfDay = today.atTime(23, 59, 59);
+                       Date startDate = Date.from(startOfDay.atZone(ZoneId.systemDefault()).toInstant());
+                       Date endDate = Date.from(endOfDay.atZone(ZoneId.systemDefault()).toInstant());
+                       activityInviteLogLambdaQueryWrapper.between(ActivityInviteLog::getInviteTime, startDate, endDate);
                        int todayInviteCount = activityInviteLogMapper.selectCount(activityInviteLogLambdaQueryWrapper);
                        if(todayInviteCount > maxInviteNum){
                            return "绑定数量已超过当天最大绑定数量";