车迟斗法,跨服发奖加锁

back_recharge
duhui 2023-02-27 16:03:38 +08:00
parent 89be667495
commit bf1194f37e
1 changed files with 9 additions and 0 deletions

View File

@ -66,10 +66,18 @@ public class CarDelayFunction implements FunctionManager {
AbstractRank personRank = RankContext.getRankEnum(RankEnum.CAR_DEALY_RANK.getType());
AbstractRank guildRank = RankContext.getRankEnum(RankEnum.CAR_DEALY_GUILD_RANK.getType());
int crossGroup = GlobleSystemLogic.getInstence().getCrossGroup();
// 跨服加锁
String lockKey = "SERVER_CAR_DELAY_REWARD_LOCK" + RedisKey.Delimiter_colon + crossGroup;
Set<ZSetOperations.TypedTuple<String>> personRangeWithScores;
Set<ZSetOperations.TypedTuple<String>> guildRangeWithScores;
if (crossGroup > 0){
boolean lock = RedisUtil.getInstence().lock(lockKey, TimeUtils.ONE_SECOND * 60);
if (!lock) {
//没有拿到锁直接返回
LOGGER.error("跨服车迟斗法,发奖, key{} 跨服分组 ={},未获取到锁",lockKey, crossGroup);
return;
}
personRangeWithScores = RedisUtil.getInstence().getZsetreverseRangeWithScores(personRank.getCrossRedisKey(), "", 0, -1, false);
guildRangeWithScores = RedisUtil.getInstence().getZsetreverseRangeWithScores(guildRank.getCrossRedisKey(), "", 0, -1, false);
}else {
@ -109,5 +117,6 @@ public class CarDelayFunction implements FunctionManager {
}
}
MongoUtil.getLjsdMongoTemplate().lastUpdate();
RedisUtil.getInstence().del(lockKey);
}
}