修改灵脉
parent
957975cee1
commit
5692983874
|
@ -186,6 +186,7 @@ public enum ErrorCode implements IErrorCode {
|
||||||
BEFORE_CONDITION_NOT(158,"前置条件不足"),
|
BEFORE_CONDITION_NOT(158,"前置条件不足"),
|
||||||
GOOD_INFO_NOT(180,"礼包不存在"),
|
GOOD_INFO_NOT(180,"礼包不存在"),
|
||||||
ACCOUNT_ERROR(-104,"帐号异常,被封号"),
|
ACCOUNT_ERROR(-104,"帐号异常,被封号"),
|
||||||
|
LINGMAI_IS_FIGHTING(192,"该灵脉正在被挑战中,请稍后再试"),
|
||||||
;
|
;
|
||||||
// private static final Set<Integer> CodeSet = new HashSet<>();
|
// private static final Set<Integer> CodeSet = new HashSet<>();
|
||||||
//
|
//
|
||||||
|
|
|
@ -79,10 +79,10 @@ public class CrossLingmaiSecretAreaBattleHandler extends BaseHandler<ArenaInfoPr
|
||||||
String groupKey = crossGroup + RedisKey.Delimiter_colon + group;
|
String groupKey = crossGroup + RedisKey.Delimiter_colon + group;
|
||||||
Map<String, LingMaiSecretArea> lingMaiMap = CrossLingmaiLogic.getInstance().getLingmaiMap(crossGroup,group);
|
Map<String, LingMaiSecretArea> lingMaiMap = CrossLingmaiLogic.getInstance().getLingmaiMap(crossGroup,group);
|
||||||
int myLingmaiId = CrossLingmaiLogic.getInstance().getLingmaiIdOccupy(uid, lingMaiMap);
|
int myLingmaiId = CrossLingmaiLogic.getInstance().getLingmaiIdOccupy(uid, lingMaiMap);
|
||||||
if (myLingmaiId != 0 && myLingmaiId < id) {
|
// if (myLingmaiId != 0 && myLingmaiId < id) {
|
||||||
MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.CrossLingmaiSecretAreaResponse.getNumber(), res.build(), true);
|
// MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.CrossLingmaiSecretAreaResponse.getNumber(), res.build(), true);
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
//检测特权次数
|
//检测特权次数
|
||||||
boolean countBol = PlayerLogic.getInstance().check(user, request.getPrivilageTypeId(), 1);
|
boolean countBol = PlayerLogic.getInstance().check(user, request.getPrivilageTypeId(), 1);
|
||||||
if (request.getPrivilageTypeId() == 0 || !countBol) {
|
if (request.getPrivilageTypeId() == 0 || !countBol) {
|
||||||
|
@ -96,12 +96,12 @@ public class CrossLingmaiSecretAreaBattleHandler extends BaseHandler<ArenaInfoPr
|
||||||
}
|
}
|
||||||
//跨服灵脉锁
|
//跨服灵脉锁
|
||||||
RedisUtil redisUtil = RedisUtil.getInstence();
|
RedisUtil redisUtil = RedisUtil.getInstence();
|
||||||
String lockKey = "SERVER_LINGMAI_LOCK" + RedisKey.Delimiter_colon + crossGroup + RedisKey.Delimiter_colon + group;
|
String lockKey = "SERVER_LINGMAI_LOCK" + RedisKey.Delimiter_colon + crossGroup + RedisKey.Delimiter_colon + group + RedisKey.Delimiter_colon + id;
|
||||||
boolean lock = redisUtil.lock(lockKey, TimeUtils.ONE_SECOND * 10);
|
boolean lock = redisUtil.lock(lockKey, TimeUtils.ONE_SECOND * 10);
|
||||||
if (!lock) {
|
if (!lock) {
|
||||||
//没有拿到锁直接返回
|
//没有拿到锁直接返回
|
||||||
LOGGER.info("跨服灵脉,跨服分组 ={},灵脉分组 ={},未获取到锁", crossGroup, group);
|
LOGGER.info("跨服灵脉,跨服分组 ={},灵脉分组 ={},未获取到锁", crossGroup, group);
|
||||||
return;
|
throw new ErrorCodeException(ErrorCode.LINGMAI_IS_FIGHTING, "该灵脉正在被挑战中,请稍后再试");
|
||||||
}
|
}
|
||||||
String serverName = CrossServiceLogic.simplifyServerName(GameApplication.serverId);
|
String serverName = CrossServiceLogic.simplifyServerName(GameApplication.serverId);
|
||||||
String key = RedisKey.CROSS_LINGMAISECRET_INFO;
|
String key = RedisKey.CROSS_LINGMAISECRET_INFO;
|
||||||
|
|
Loading…
Reference in New Issue