diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/RankingRewardGrantCmdExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/RankingRewardGrantCmdExe.java index 931d5176..b69d59e9 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/RankingRewardGrantCmdExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/RankingRewardGrantCmdExe.java @@ -66,7 +66,15 @@ public class RankingRewardGrantCmdExe { lastUserMap = lastSnapshot.getRankingUsers().stream() .collect(Collectors.toMap(RankingRewardSnapshot.RankingUserSnapshot::getUserId, u -> u)); } - + + // 检查是否为星期一0点(活动重置时间) + if (isWeeklyReset()) { + log.info("星期一0点,活动重置,收回所有用户道具"); + revokeAllUserRewards(lastUserMap); + + return; + } + processRewardChanges(currentRankMap, lastUserMap, activityConfig); saveNewSnapshot(activityType, origin, cycleKey, templateId, currentRankingUsers, activityConfig); @@ -78,16 +86,6 @@ public class RankingRewardGrantCmdExe { private void processRewardChanges(Map currentRankMap, Map lastUserMap, ActivityConfigVO activityConfig) { - - // 检查是否为星期一0点(活动重置时间) - if (isWeeklyReset()) { - log.info("星期一0点,活动重置,收回所有用户道具"); - revokeAllUserRewards(lastUserMap); - - lastUserMap.clear(); // 清空历史,使所有用户视为新用户重新发放 - return; - } - Set currentUserIds = currentRankMap.values().stream() .map(RankingUserData::getUserId) .collect(Collectors.toSet());