diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java index d22523934..a5d5918aa 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java @@ -129,9 +129,10 @@ public class GlobalDataManaager { public void openAction(List ids){ for(Integer openId : ids){ + FunctionIdEnum type = FunctionIdEnum.getFunctionIdEnumById(openId); TimeControllerOfFunction timeControllerOfFunction = openTimeOfFuntionCache.get(openId); - switch (openId){ - case 8: + switch (type){ + case Arena: ArenaLogic.getInstance().updateArenaSeason(timeControllerOfFunction.getTimes()); default: break; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java index af7c49323..b028cae1c 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java @@ -139,28 +139,12 @@ public class ArenaLogic { } int uid = session.getUid(); User user = UserManager.getUser(uid); - if(skipFight == 0){ - boolean allowed = user.getPlayerInfoManager().checkFunctionIsAllowed(VipPrivilegeType.UNLOCK_SKIP_FIGHT); - if(!allowed){ - MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ARENA_CHALLENGE_RESPONSE_VALUE,"not allowed"); - return; - } - } - - String err = checkChallenge(user); - if(!"".equals(err)){ - MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ARENA_CHALLENGE_RESPONSE_VALUE,err); - return; - } ArenaManager arenaManager = user.getArenaManager(); List arenaEnemies = arenaManager.getArenaEnemies(); ArenaEnemy enemyInfo = getEnemyInList(challengeUid, arenaEnemies); - if( null == enemyInfo ){ - MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ARENA_CHALLENGE_RESPONSE_VALUE,"对手错误"); - return; - } - if(!user.getTeamPosManager().getTeamPosForHero().containsKey(GlobalsDef.TEAM_ARENA_DEFENSE)){ - MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ARENA_CHALLENGE_RESPONSE_VALUE,"未设置防守阵容"); + String err = checkChallenge(user,skipFight,enemyInfo ); + if(!"".equals(err)){ + MessageUtil.sendErrorResponse(session,0, MessageTypeProto.MessageType.ARENA_CHALLENGE_RESPONSE_VALUE,err); return; } int fightResult=0; @@ -279,7 +263,19 @@ public class ArenaLogic { return checkResult[0]; } - private String checkChallenge(User user) throws Exception { + private String checkChallenge(User user,int skipFight, ArenaEnemy enemyInfo) throws Exception { + if( null == enemyInfo ){ + return "对手错误"; + } + if(skipFight == 0){ + boolean allowed = user.getPlayerInfoManager().checkFunctionIsAllowed(VipPrivilegeType.UNLOCK_SKIP_FIGHT); + if(!allowed){ + return "not allowed"; + } + } + if(!user.getTeamPosManager().getTeamPosForHero().containsKey(GlobalsDef.TEAM_ARENA_DEFENSE)){ + return "未设置防守阵容"; + } ArenaManager arenaManager = user.getArenaManager(); SArenaSetting sArenaSetting = SArenaSetting.getSArenaSetting(); int useFreeTimes = arenaManager.getUseFreeTimes();