车迟斗法,跨服发奖加锁
parent
89be667495
commit
bf1194f37e
|
@ -66,10 +66,18 @@ public class CarDelayFunction implements FunctionManager {
|
||||||
AbstractRank personRank = RankContext.getRankEnum(RankEnum.CAR_DEALY_RANK.getType());
|
AbstractRank personRank = RankContext.getRankEnum(RankEnum.CAR_DEALY_RANK.getType());
|
||||||
AbstractRank guildRank = RankContext.getRankEnum(RankEnum.CAR_DEALY_GUILD_RANK.getType());
|
AbstractRank guildRank = RankContext.getRankEnum(RankEnum.CAR_DEALY_GUILD_RANK.getType());
|
||||||
int crossGroup = GlobleSystemLogic.getInstence().getCrossGroup();
|
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>> personRangeWithScores;
|
||||||
Set<ZSetOperations.TypedTuple<String>> guildRangeWithScores;
|
Set<ZSetOperations.TypedTuple<String>> guildRangeWithScores;
|
||||||
if (crossGroup > 0){
|
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);
|
personRangeWithScores = RedisUtil.getInstence().getZsetreverseRangeWithScores(personRank.getCrossRedisKey(), "", 0, -1, false);
|
||||||
guildRangeWithScores = RedisUtil.getInstence().getZsetreverseRangeWithScores(guildRank.getCrossRedisKey(), "", 0, -1, false);
|
guildRangeWithScores = RedisUtil.getInstence().getZsetreverseRangeWithScores(guildRank.getCrossRedisKey(), "", 0, -1, false);
|
||||||
}else {
|
}else {
|
||||||
|
@ -109,5 +117,6 @@ public class CarDelayFunction implements FunctionManager {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
MongoUtil.getLjsdMongoTemplate().lastUpdate();
|
MongoUtil.getLjsdMongoTemplate().lastUpdate();
|
||||||
|
RedisUtil.getInstence().del(lockKey);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue