Procházet zdrojové kódy

签到代码回滚

zc před 2 měsíci
rodič
revize
46fef644c5

+ 3 - 3
alien-entity/src/main/java/shop/alien/entity/store/UserSignInRecord.java

@@ -20,7 +20,7 @@ public class UserSignInRecord {
     @ApiModelProperty(value = "用户ID")
     private Integer userId;
 
-    @ApiModelProperty(value = "当前连续签到天数")
+    @ApiModelProperty(value = "当前连续签到天数(默认方案,循环签到连续时间)")
     private Integer continuousDays;
 
     @ApiModelProperty(value = "本次获得积分")
@@ -52,9 +52,9 @@ public class UserSignInRecord {
     @TableLogic
     private Integer deleteFlag;
 
-    @ApiModelProperty(value = "总计连续签到天数")
+    @ApiModelProperty(value = "总计连续签到天数(总计连续签到)")
     private Integer totalContinuousDays;
 
-    @ApiModelProperty(value = "特殊方案连续签到天数")
+    @ApiModelProperty(value = "特殊方案连续签到天数(特殊方案的连续签到)")
     private Integer specialContinuousDays;
 }

+ 20 - 8
alien-store/src/main/java/shop/alien/store/service/impl/SignInServiceImpl.java

@@ -116,10 +116,12 @@ public class SignInServiceImpl extends ServiceImpl<UserSignInRecordMapper, UserS
                 if(!CollectionUtils.isEmpty(activitySignInRewards)){
                     ActivitySignInReward activitySignInReward = activitySignInRewards.get(0);
                     basePoints = basePoints + activitySignInReward.getPoints();
-                    ActivityPointInfoVo groupActivityPointInfoVo = new ActivityPointInfoVo();
-                    groupActivityPointInfoVo.setPoint(activitySignInReward.getPoints());
-                    groupActivityPointInfoVo.setPointInfo("已连续签到"+continueDay+"天奖励积分"+activitySignInReward.getPoints());
-                    activityPointInfoVoList.add(groupActivityPointInfoVo);
+                    if(activitySignInReward.getPoints() != 0){
+                        ActivityPointInfoVo groupActivityPointInfoVo = new ActivityPointInfoVo();
+                        groupActivityPointInfoVo.setPoint(activitySignInReward.getPoints());
+                        groupActivityPointInfoVo.setPointInfo("已连续签到"+continueDay+"天奖励积分"+activitySignInReward.getPoints());
+                        activityPointInfoVoList.add(groupActivityPointInfoVo);
+                    }
                 }
             }
         }
@@ -242,8 +244,8 @@ public class SignInServiceImpl extends ServiceImpl<UserSignInRecordMapper, UserS
         signInVo.setTotalPoint(totalPoint);
 
         // 获取连续签到天数
-        int continueDay = totalContinuousDays(userId,0);
-        signInVo.setTotalContinueDay(continueDay);
+        int totalContinueDay = 1;
+//        signInVo.setTotalContinueDay(continueDay);
 
         // 计算连续签到天数
         int countDay = 1;
@@ -251,14 +253,24 @@ public class SignInServiceImpl extends ServiceImpl<UserSignInRecordMapper, UserS
             boolean isToday = isSameDay(lastUserSignInRecord.getSignInDate(),0);
             if(isToday){
                 countDay = lastUserSignInRecord.getContinuousDays();
+                totalContinueDay = lastUserSignInRecord.getTotalContinuousDays();
             } else{
                 boolean isYestDay = isSameDay(lastUserSignInRecord.getSignInDate(),1);
                 if(isYestDay){
-                    countDay = lastUserSignInRecord.getContinuousDays() + 1;
+                    countDay = lastUserSignInRecord.getContinuousDays() ;
+                    totalContinueDay = lastUserSignInRecord.getTotalContinuousDays();
+                } else{
+                    countDay = 0;
+                    totalContinueDay = 0;
                 }
             }
+        } else {
+            countDay = 0;
+            totalContinueDay = 0;
         }
         signInVo.setContinuousDays(countDay);
+        signInVo.setTotalContinueDay(totalContinueDay);
+
 
         // 获取签到记录
 //        LambdaQueryWrapper<UserSignInRecord> wrapper = new LambdaQueryWrapper<>();
@@ -321,7 +333,7 @@ public class SignInServiceImpl extends ServiceImpl<UserSignInRecordMapper, UserS
         UserSignInRecord userSignInRecord = userSignInRecordList.get(0);
         Date signInDate = userSignInRecord.getSignInDate();
         boolean result = isSameDay(signInDate, dayCount);
-        if(!result){
+        if(result){
             return userSignInRecord.getTotalContinuousDays();
         } else{
             return 0;