Преглед на файлове

提交代码,签到面板接口调整

wangzhijun преди 1 ден
родител
ревизия
c601ef26df
променени са 1 файла, в които са добавени 5 реда и са изтрити 4 реда
  1. 5 4
      nightFragrance-massage/src/main/java/com/ylx/point/service/impl/PointActivityServiceImpl.java

+ 5 - 4
nightFragrance-massage/src/main/java/com/ylx/point/service/impl/PointActivityServiceImpl.java

@@ -408,6 +408,7 @@ public class PointActivityServiceImpl extends ServiceImpl<PointActivityMapper, P
                 signedLogMap.put(signDate, log);
             }
         }
+        boolean hasSignHistory = (status != null && status.getLastSignDate() != null) || CollUtil.isNotEmpty(signedLogMap);
 
         // 8. 生成 7 天面板数据
         List<SignDayVo> voList = new ArrayList<>(7);
@@ -441,8 +442,8 @@ public class PointActivityServiceImpl extends ServiceImpl<PointActivityMapper, P
             } else if (date.isAfter(today)) {
                 vo.setStatus(0);
             } else {
-                // 过去未签:昨天算断签(3),更早算过期(4)
-                vo.setStatus(date.equals(today.minusDays(1)) ? 3 : 4);
+                // 过去未签:只有“存在历史签到”的情况下,昨天才算断签(3);否则一律过期(4)
+                vo.setStatus(hasSignHistory && date.equals(today.minusDays(1)) ? 3 : 4);
             }
 
             // 8.3 积分计算(基础分 + 阶梯累加)
@@ -467,8 +468,8 @@ public class PointActivityServiceImpl extends ServiceImpl<PointActivityMapper, P
                 points = calcCumulativeSignPoints(basePoints, nextContinuousDays, rewardList);
                 nextContinuousDays++;
             } else {
-                // 断签/过期:未签到不展示可得积分
-                points = 0;
+                // 断签/过期:过期仍展示基础分,断签展示 0
+                points = (vo.getStatus() != null && vo.getStatus() == 4) ? basePoints : 0;
             }
 
             vo.setPoints(points);