开服冲榜活动,发奖逻辑

duhui 2022-11-14 00:44:34 +08:00
parent ee6653d58f
commit 2a5889e939
1 changed files with 8 additions and 6 deletions

View File

@ -118,28 +118,30 @@ public class OpenServerCompeteRankActivity extends AbstractActivity {
*/
private Set<ZSetOperations.TypedTuple<String>> backRank(int rankType){
LOGGER.info("===========================冲榜开始备份活动id{},排行榜类型:{},时间:{}",id,rankType,TimeUtils.nowInt());
int backRankType = 0;
try {
AbstractRank abstractRank = RankContext.getRankEnum(rankType);
Set<ZSetOperations.TypedTuple<String>> rankInfo = abstractRank.getRankByKey("", 0, -1);
SChongRankInfo chongRankInfo = SChongRankInfo.getMap().get(id).get(rankType);
if (rankInfo == null || chongRankInfo == null){
LOGGER.error("===========================冲榜备份提前结束排行榜空活动id{},排行榜类型:{}",id,rankType);
LOGGER.error("冲榜备份提前结束排行榜空活动id{},排行榜类型:{}",id,rankType);
return null;
}
AbstractRank backRank = RankContext.getRankEnum(chongRankInfo.getBackRankType());
backRankType = chongRankInfo.getBackRankType();
AbstractRank backRank = RankContext.getRankEnum(backRankType);
Set<ZSetOperations.TypedTuple<String>> backRankInfo = backRank.getRankByKey("", 0, -1);
if (backRankInfo != null && !backRankInfo.isEmpty()){
LOGGER.error("===========================冲榜备份提前结束备份数据已存在活动id{},排行榜类型:{}",id,rankType);
if (backRankInfo != null && backRankInfo.size() > 0){
LOGGER.error("冲榜备份提前结束备份数据已存在活动id{},排行榜类型:{},排行榜数量:{}",id,backRankType,backRankInfo.size());
return null;
}
String key = RedisUtil.getInstence().getKey(backRank.getRedisKey(),"");
RedisUtil.getInstence().zsetAddAall(key,rankInfo);
RedisUtil.getInstence().expire(key,getCleanRankTime(rankType));
LOGGER.info("===========================冲榜备份结束活动id{},排行榜类型:{},时间:{}",id,backRankType,TimeUtils.nowInt());
return rankInfo;
}catch (Exception e){
LOGGER.error("===========================冲榜备份排行榜报错:{}-{}-{}",id,rankType,e.getMessage());
LOGGER.error("冲榜备份排行榜报错:{}-{}-{}",id,backRankType,e.getMessage());
}
LOGGER.info("===========================冲榜备份结束活动id{},排行榜类型:{},时间:{}",id,rankType,TimeUtils.nowInt());
return null;
}