diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/gtw/GetWorldArenaInfoRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/gtw/GetWorldArenaInfoRequestHandler.java index 74a087546..be5aaf7d3 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/gtw/GetWorldArenaInfoRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/gtw/GetWorldArenaInfoRequestHandler.java @@ -71,7 +71,7 @@ public class GetWorldArenaInfoRequestHandler extends BaseHandler= startTime && now < startTime + registerInterval){ - return REGISTER;//报名阶段 + return REGISTER; // Registration phase } else if (now >= startTime + registerInterval && now < startTime + registerInterval + initRankInterval){ - return INIT_RANK;//初始化排行榜阶段 + return INIT_RANK; // Initial ranking phase } else if (now >= startTime + registerInterval + initRankInterval && now < startTime + registerInterval + initRankInterval + fightInterval){ - return FIGHT;//战斗阶段 + return FIGHT; // Fighting phase } else if (now >= startTime + registerInterval + initRankInterval + fightInterval && now < startTime + registerInterval + initRankInterval + fightInterval + sendRewardInterval){ - return SENDR_EWARD;//发奖阶段 + return SEND_REWARD; // Reward sending phase (fixed the typo) } else { - return 0;//未在功能时间内 + return 0; // Not within the functional time } } @@ -109,7 +122,7 @@ public class LuofuLogic { LOGGER.info("罗浮争锋 准备时间到......"); TaskKit.scheduleOne(this::initRankRobot,0); } - else if (state == SENDR_EWARD){ + else if (state == SEND_REWARD){ LOGGER.info("罗浮争锋 发奖时间到......"); TaskKit.scheduleOne(this::luoFuSendReward,0); } @@ -237,8 +250,8 @@ public class LuofuLogic { * 罗浮争锋 初始化排行榜机器人信息 */ public void initRankRobot() { - Thread.currentThread().setName("luofu_arena_init_rank"); long start = TimeUtils.now(); + LOGGER.info("罗浮争锋,初始化排行榜开始......当前时间:{} ",TimeUtils.getTimeStamp2(start)); int crossGroup = GlobleSystemLogic.getInstence().getCrossGroup(); if (crossGroup == -1) { LOGGER.error("罗浮争锋初始化退出, 服务器未分组!耗时:{} ms, 当前时间:{}", TimeUtils.now() - start, TimeUtils.getTimeStamp2(TimeUtils.now())); @@ -332,8 +345,8 @@ public class LuofuLogic { * 罗浮发奖 */ public void luoFuSendReward() { - Thread.currentThread().setName("luofu_arena_send_reward"); long start = TimeUtils.now(); + LOGGER.info("罗浮争锋,发奖开始......当前时间:{} ",TimeUtils.getTimeStamp2(start)); int crossGroup = GlobleSystemLogic.getInstence().getCrossGroup(); if (crossGroup == -1) { LOGGER.error("罗浮争锋发奖退出, 服务器未分组!耗时:{} ms, 当前时间:{}", TimeUtils.now() - start, TimeUtils.getTimeStamp2(TimeUtils.now())); @@ -431,21 +444,32 @@ public class LuofuLogic { * 实时随机 暂时不缓存 */ private TreeSet getMatchID(int index) { - //玩家排名 获取配置 + // 玩家排名 获取配置 TreeMap rank2miss = SMServerArenaMatchConfig.rank2miss; - Integer integer = rank2miss.floorKey(index); - Integer integer1 = rank2miss.get(integer); - TreeSet objects = new TreeSet<>(); + Integer configIndex = rank2miss.floorKey(index); + if (configIndex == null) { + // 处理configIndex为空的情况,可以根据实际需求抛出异常或返回默认值 + return new TreeSet<>(); + } + Integer missType = rank2miss.get(configIndex); + + SMServerArenaMatchConfig config = STableManager.getConfig(SMServerArenaMatchConfig.class).get(missType); + if (config == null) { + // 处理serverArenaMatchConfig为空的情况 + return new TreeSet<>(); + } + //分配对手 - SMServerArenaMatchConfig serverArenaMatchConfig = STableManager.getConfig(SMServerArenaMatchConfig.class).get(integer1); - int blockID1 = index - (int) (Math.random() * (serverArenaMatchConfig.getBlock1()[1] - serverArenaMatchConfig.getBlock1()[0]) + serverArenaMatchConfig.getBlock1()[0]); - int blockID2 = index - (int) (Math.random() * (serverArenaMatchConfig.getBlock2()[1] - serverArenaMatchConfig.getBlock2()[0]) + serverArenaMatchConfig.getBlock2()[0]); - int blockID3 = index - (int) (Math.random() * (serverArenaMatchConfig.getBlock3()[1] - serverArenaMatchConfig.getBlock3()[0]) + serverArenaMatchConfig.getBlock3()[0]); - int blockID4 = index - (int) (Math.random() * (serverArenaMatchConfig.getBlock4()[1] - serverArenaMatchConfig.getBlock4()[0]) + serverArenaMatchConfig.getBlock4()[0]); + TreeSet objects = new TreeSet<>(); + int blockID1 = index - (int) (Math.random() * (config.getBlock1()[1] - config.getBlock1()[0]) + config.getBlock1()[0]); objects.add(blockID1); + int blockID2 = index - (int) (Math.random() * (config.getBlock2()[1] - config.getBlock2()[0]) + config.getBlock2()[0]); objects.add(blockID2); + int blockID3 = index - (int) (Math.random() * (config.getBlock3()[1] - config.getBlock3()[0]) + config.getBlock3()[0]); objects.add(blockID3); + int blockID4 = index - (int) (Math.random() * (config.getBlock4()[1] - config.getBlock4()[0]) + config.getBlock4()[0]); objects.add(blockID4); + return objects; }