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 ea2af79bb..8f7789a1d 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 @@ -497,6 +497,8 @@ public class ArenaLogic { return; } int uid = iSession.getUid(); + User user = UserManager.getUser(uid); + user.getPlayerInfoManager().removeRed(GlobalsDef.ARENA_CHALLENGE_TYPE); Map result = RedisUtil.getInstence().getMapValues(RedisKey.ARENA_RRECORD, Integer.toString(uid), String.class, ArenaRecord.class); if(result!=null && !result.isEmpty()){ List arenaRecordInfos = new ArrayList<>(); @@ -539,8 +541,7 @@ public class ArenaLogic { .setAttackTime(arenaRecord.getCreateTime()) .build()); } - User user = UserManager.getUser(uid); - user.getPlayerInfoManager().removeRed(GlobalsDef.ARENA_CHALLENGE_TYPE); + ArenaInfoProto.ArenaRecordInfoResponse build = ArenaInfoProto.ArenaRecordInfoResponse.newBuilder().addAllArenaRecordInfo(arenaRecordInfos).build(); MessageUtil.sendMessage(iSession,1, MessageTypeProto.MessageType.ARENA_DEFENSE_RESPONSE_VALUE,build,true); return; @@ -619,7 +620,6 @@ public class ArenaLogic { MissionEventDistributor.requestStart(); user.getUserMissionManager().onGameEvent(user,GameEvent.ARENA_UPDATE_RANK,rank); - user.getPlayerInfoManager().removeRed(GlobalsDef.ARENA_CHALLENGE_TYPE); ISession sessionByUid = OnlineUserManager.getSessionByUid(uid); if(sessionByUid!=null){ MissionEventDistributor.requestEnd(sessionByUid,true); @@ -630,13 +630,14 @@ public class ArenaLogic { content = SErrorCodeEerverConfig.getI18NMessage("arena_daily_reward_txt",new Object[]{rank}); }else{ content = SErrorCodeEerverConfig.getI18NMessage("arena_season_reward_txt",new Object[]{rank}); + user.getPlayerInfoManager().removeRed(GlobalsDef.ARENA_CHALLENGE_TYPE); + String key = RedisUtil.getInstence().getKey(RedisKey.ARENA_RRECORD, Integer.toString(uid)); + RedisUtil.getInstence().del(key); } String rewardByRank = getRewardByRank(rank++, type); if(!"".equals(rewardByRank)){ MailLogic.getInstance().sendMail(user.getId(),title,content,rewardByRank,nowTime, Global.MAIL_EFFECTIVE_TIME); } - String key = RedisUtil.getInstence().getKey(RedisKey.ARENA_RRECORD, Integer.toString(uid)); - RedisUtil.getInstence().del(key); } MongoUtil.getInstence().lastUpdate(); }