diff --git a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/query/RankingListQryExe.java b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/query/RankingListQryExe.java index 3a0cb1d2..216532dc 100644 --- a/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/query/RankingListQryExe.java +++ b/rc-service/rc-service-other/other-application/src/main/java/com/red/circle/other/app/command/activity/query/RankingListQryExe.java @@ -66,12 +66,7 @@ public class RankingListQryExe { } // 查询排行榜列表 - String regionId = cmd.getRegionId() != null ? cmd.getRegionId() - : (cmd.getReqUserId() != null ? userRegionGateway.getRegionId(cmd.getReqUserId()) : null); - // 邀请活动特殊处理 - if (activityType == RankingActivityType.INVITE) { - regionId = "OTHER"; - } + String regionId = resolveRegionId(cmd, activityType); List records = rankingActivityGateway.getRankingList( cmd.getReqSysOrigin().getOrigin(), @@ -152,7 +147,23 @@ public class RankingListQryExe { return result; } - private Set getUserIds(List records) { + /** + * 解析 regionId:不分区类型返回 null,邀请活动固定 OTHER,其余按用户地区 + */ + private String resolveRegionId(RankingListQueryCmd cmd, RankingActivityType activityType) { + if (activityType.isNoPartition()) { + return null; + } + if (activityType == RankingActivityType.INVITE) { + return "OTHER"; + } + if (cmd.getRegionId() != null) { + return cmd.getRegionId(); + } + return cmd.getReqUserId() != null ? userRegionGateway.getRegionId(cmd.getReqUserId()) : null; + } + + private Set getUserIds(List records) { return records.stream().map(RankingActivityRecord::getUserId).collect(Collectors.toSet()); }