TASK【ID1005286】【达人活动的排行榜优化】

zhangshanxue 2019-12-15 16:15:57 +08:00
parent cc0f4c51c1
commit 79363da8a6
1 changed files with 24 additions and 3 deletions

View File

@ -64,15 +64,26 @@ class ExpectRankActivity extends AbstractActivity {
if(null==sActivityRankingReward)
return;
int maxRank = 0;
int maxRewardId = 0;
Map<Integer, Integer> rank2miss = new HashMap<>();
for (SActivityRankingReward sActivityRankingReward1 : sActivityRankingReward) {
maxRank = Math.max(maxRank, sActivityRankingReward1.getMaxRank());
if(sActivityRankingReward1.getMaxRank()==-1){
maxRank =-1;
maxRewardId = sActivityRankingReward1.getId();
continue;
}
if(maxRank!=-1)
{
maxRank = Math.max(maxRank, sActivityRankingReward1.getMaxRank());
}
for (Integer rank : getRankSet(sActivityRankingReward1.getMinRank(), sActivityRankingReward1.getMaxRank())) {
rank2miss.put(rank, sActivityRankingReward1.getId());
}
}
Set<ZSetOperations.TypedTuple<String>> rankInfo = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.EXPERT_RANK, Integer.toString(id), 0, maxRank - 1);
Set<ZSetOperations.TypedTuple<String>> rankInfo = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.EXPERT_RANK, Integer.toString(id), 0, (maxRank==-1?0:maxRank) - 1);
int rank = 1;
int nowTime = (int) (TimeUtils.now() / 1000);
for (ZSetOperations.TypedTuple<String> item : rankInfo) {
@ -86,7 +97,17 @@ class ExpectRankActivity extends AbstractActivity {
if (activityMission == null || activityMission.getOpenType() == 0) {
continue;
}
int missionId = rank2miss.get(rank);
int missionId ;
if(rank2miss.containsKey(rank)) {
missionId = rank2miss.get(rank);
}else {
if(maxRank==-1){
missionId = maxRewardId;
}else {
continue;
}
}
//check value
SActivityRankingReward sActivityRankingReward1 = SActivityRankingReward.getsActivityRankingRewardMap().get(missionId);
//sendmail