Pārlūkot izejas kodu

加入限制当日绑定数量逻辑

zc 2 mēneši atpakaļ
vecāks
revīzija
12fe1638df

+ 16 - 0
alien-store/src/main/java/shop/alien/store/service/impl/ActivityInviteConfigServiceImpl.java

@@ -22,6 +22,7 @@ import shop.alien.store.service.ActivityInviteConfigService;
 import shop.alien.util.common.RandomCreateUtil;
 
 import java.time.Instant;
+import java.time.LocalDate;
 import java.util.Date;
 import java.util.List;
 
@@ -228,6 +229,21 @@ public class ActivityInviteConfigServiceImpl extends ServiceImpl<ActivityInviteC
                List<ActivityInviteConfig> activityInviteConfigList = activityInviteConfigMapper.selectList(activityInviteConfigLambdaQueryWrapper);
                if(CollectionUtils.isNotEmpty(activityInviteConfigList)){
                    ActivityInviteConfig activityInviteConfig = activityInviteConfigList.get(0);
+
+                   // 判断是否达到当天邀请最大次数
+                   Integer maxInviteNum = activityInviteConfig.getMaxInviteNum();
+                   if(maxInviteNum != null){
+                       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");
+                       int todayInviteCount = activityInviteLogMapper.selectCount(activityInviteLogLambdaQueryWrapper);
+                       if(todayInviteCount > maxInviteNum){
+                           return "绑定数量已超过当天最大绑定数量";
+                       }
+                   }
+
                    ActivityInviteLog activityInviteLog = new ActivityInviteLog();
                    activityInviteLog.setInviteUserId(inviteUserId);
                    activityInviteLog.setInvitedUserId(invitedUserId);