From b6accfb599d0742f1055a2f21ccb12eef577052e Mon Sep 17 00:00:00 2001 From: lvxinran Date: Sun, 1 Aug 2021 01:12:10 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B7=A8=E6=9C=8D=E7=AD=89=E7=BA=A7=E5=85=B3?= =?UTF-8?q?=E8=81=94=E8=A1=A8=EF=BC=8C=E4=BF=AE=E6=94=B9=E5=A5=96=E5=8A=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/function/WorldArenaFunction.java | 2 +- .../GetWorldArenaChallengeRequestHandler.java | 9 ++++---- .../gtw/GetWorldArenaProudRequestHandler.java | 2 +- .../ljsd/jieling/logic/GlobleSystemLogic.java | 23 ++++++++----------- .../java/config/SMServerArenaSetting.java | 6 +++++ 5 files changed, 22 insertions(+), 20 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/core/function/WorldArenaFunction.java b/serverlogic/src/main/java/com/ljsd/jieling/core/function/WorldArenaFunction.java index 5c3f8390d..26f09c019 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/core/function/WorldArenaFunction.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/core/function/WorldArenaFunction.java @@ -30,7 +30,7 @@ public class WorldArenaFunction implements FunctionManager { //获取竞技场排行榜 int curSeason = ArenaLogic.getInstance().getCurSeason(); Set> arenaRankInfo = new HashSet<>(setting.getJoinRank()); - Set> arenaRankInfoOne = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.ARENA_RANK, Integer.toString(curSeason), 0, setting.getJoinRank()); + Set> arenaRankInfoOne = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.ARENA_RANK, Integer.toString(curSeason), 0, setting.getJoinRank()-1); if (arenaRankInfoOne != null && !arenaRankInfoOne.isEmpty()) { arenaRankInfo.addAll(arenaRankInfoOne); } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/gtw/GetWorldArenaChallengeRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/gtw/GetWorldArenaChallengeRequestHandler.java index 277767f82..4f73b7975 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/gtw/GetWorldArenaChallengeRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/gtw/GetWorldArenaChallengeRequestHandler.java @@ -106,7 +106,7 @@ public class GetWorldArenaChallengeRequestHandler extends BaseHandler 0) { // if (proto.getChallengeUid() < 1000) { @@ -236,9 +233,13 @@ public class GetWorldArenaChallengeRequestHandler extends BaseHandler=50) { + //如果达不到这些人,世界等级就为1 + if(users.size()>=rankEndLine) { for (int j = 0; j item : rankInfo) { double score = item.getScore(); sum+=score; -// if(i==rankEndLine){ -// //更新line名分数缓存 -// setGloableWorldLeveCacheLine((int)score); -// } + } level = (int) Math.ceil(sum / (double) Math.min(rankInfo.size(), rankEndLine)); } setGlobalWorldLevelCache(level); - LOGGER.info("计算了一次世界等级->{}",level); -// if (rankInfo.size() > rankEndLine + 100) { -// //删除多余数据 预留一些 长度maxSize -// String key = RedisKey.getKey(RedisKey.WORLD_CALCUL_LEVE_RAND, "", false); -// RedisUtil.getInstence().removeZSetRangeByRank(key, 0, 500); -// } + LOGGER.info("总人数:{},计算了一次世界等级->{}",users.size(),level); + diff --git a/tablemanager/src/main/java/config/SMServerArenaSetting.java b/tablemanager/src/main/java/config/SMServerArenaSetting.java index 1b1a41a61..aad0f7d1d 100644 --- a/tablemanager/src/main/java/config/SMServerArenaSetting.java +++ b/tablemanager/src/main/java/config/SMServerArenaSetting.java @@ -42,6 +42,8 @@ public class SMServerArenaSetting implements BaseConfig { private int openWeek; + private int worldLevLimit; + @Override public void init() throws Exception { @@ -116,4 +118,8 @@ public class SMServerArenaSetting implements BaseConfig { public int getOpenWeek() { return openWeek; } + + public int getWorldLevLimit() { + return worldLevLimit; + } } \ No newline at end of file