diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/manager/activity/award/WeeklyRewardsSentManager.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/manager/activity/award/WeeklyRewardsSentManager.java index 4d03bcf8..df44e291 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/manager/activity/award/WeeklyRewardsSentManager.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/manager/activity/award/WeeklyRewardsSentManager.java @@ -460,56 +460,51 @@ public class WeeklyRewardsSentManager { log.warn("统一奖励配置: {}.系统:{}", JacksonUtils.toJson(activityResources), sysOrigin.name()); - // 循环处理每个礼物 - for (int resourcesIndex = 0; resourcesIndex < gifts.size(); resourcesIndex++) { + // 获取当前礼物的Top3用户 + List giftUsers = weekStarGiftCountService + .listThisWeekTopV2(sysOrigin.name(),3); - // 获取当前礼物的Top3用户 - List giftUsers = weekStarGiftCountService - .listLastWeekTop(sysOrigin.name(), gifts.get(resourcesIndex).getId(), 3); + if (CollectionUtils.isEmpty(giftUsers)) { + log.warn("没有获奖用户.系统:{}", sysOrigin.name()); + return; + } - if (CollectionUtils.isEmpty(giftUsers)) { - log.warn("周星奖励主动发送:活动礼物序号{}, 活动礼物ID: {},没有获奖用户.系统:{}", - resourcesIndex + 1, - gifts.get(resourcesIndex).getId(), sysOrigin.name()); + // 给具体用户发统一奖励组 + for (int userIndex = 0; userIndex < giftUsers.size(); userIndex++) { + + ActivityResourceCO detailedAward = activityResources.get(userIndex); + if (Objects.isNull(detailedAward) || !Boolean.TRUE.equals(detailedAward.getPropsGroup().getShelfStatus())) { + log.warn("周星奖励主动发送:统一奖励组中top{} 配置不存在.系统:{}", + userIndex + 1, sysOrigin.name()); continue; } - // 给具体用户发统一奖励组 - for (int userIndex = 0; userIndex < giftUsers.size(); userIndex++) { + WeekStarGiftCount user = giftUsers.get(userIndex); + if (Objects.isNull(user)) { + log.warn("周星奖励主动发送:活动礼物{},top{} 用户不存在.系统:{}", userIndex + 1, + userIndex + 1, sysOrigin.name()); + continue; + } - ActivityResourceCO detailedAward = activityResources.get(userIndex); - if (Objects.isNull(detailedAward)) { - log.warn("周星奖励主动发送:统一奖励组中top{} 配置不存在.系统:{}", - userIndex + 1, sysOrigin.name()); - continue; - } - - WeekStarGiftCount user = giftUsers.get(userIndex); - if (Objects.isNull(user)) { - log.warn("周星奖励主动发送:活动礼物{},top{} 用户不存在.系统:{}", resourcesIndex + 1, - userIndex + 1, sysOrigin.name()); - continue; - } - - // 发送奖励 - sendPropsManager.sendActivityGroup(SendRewardGroup.builder() + // 发送奖励 + sendPropsManager.sendActivityGroup(SendRewardGroup.builder() .trackId(detailedAward.getRule().getId()) .sysOrigin(sysOrigin) .acceptUserId(user.getUserId()) .resourceGroupId(detailedAward.getRule().getResourceGroupId()) .origin(SendPropsOrigin.WEEK_STAR) .build()); - log.warn("周星奖励主动发送:活动礼物{},top{} 用户:{} 奖励已发送.系统:{}", resourcesIndex + 1, - userIndex + 1, user.getUserId(), sysOrigin.name()); - } + log.warn("周星奖励主动发送:活动礼物{},top{} 用户:{} 奖励已发送.系统:{}", userIndex + 1, + userIndex + 1, user.getUserId(), sysOrigin.name()); } + } /** * 获得上周周星礼物. */ private List lastWeekStarGift(SysOriginPlatformEnum sysOrigin) { - return weekStarGroupService.getByTypeOne(sysOrigin, WeekStarGiftTypeEnum.LAST_WEEK) + return weekStarGroupService.getByTypeOne(sysOrigin, WeekStarGiftTypeEnum.THIS_WEEK) .map(weekStarGroup -> appGiftConfigMapper.toGiftConfigCO(giftConfigService .listByIds(weekStarGiftService.listGiftIdsByGroupId(weekStarGroup.getId())))) .orElse(Lists.newArrayList());