From 8c9a4a73d037a263e43995b5e09f6bfa8af45047 Mon Sep 17 00:00:00 2001 From: duhui Date: Fri, 22 Oct 2021 14:37:36 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=93=E7=AE=97=E9=98=B6=E6=AE=B5=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logic/ridingSward/RidingSwardLogic.java | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/ridingSward/RidingSwardLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/ridingSward/RidingSwardLogic.java index 4e2a29ad4..8411b30d8 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/ridingSward/RidingSwardLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/ridingSward/RidingSwardLogic.java @@ -61,6 +61,11 @@ public class RidingSwardLogic{ if (endTime == 0 && startTime == 0){ return 0; } + // 比赛结算阶段 + int size = getRankMap("").size(); + if (getRound() >= size){ + return 3; + } int now = TimeUtils.nowInt(); // 活动过期 if (now > endTime || now < startTime){ @@ -74,10 +79,7 @@ public class RidingSwardLogic{ SRidingSwardConfig config = STableManager.getConfig(SRidingSwardConfig.class).get(1); // 一场比赛得时间,投注时间+比赛时间 int oneGameTime = config.getTime()[0] + config.getTime()[1]; - if (now + oneGameTime >= endTime){ - return 3; - } - // (当前时间-开始时间)%场次时间,取模,可以获得限制位于哪个阶段 + // (当前时间-开始时间)%场次时间,取模,可以获得现在位于哪个阶段 return (now - startTime) % (oneGameTime) > config.getTime()[0] ? 2 : 1; }catch (Exception e){ e.printStackTrace(); @@ -102,9 +104,6 @@ public class RidingSwardLogic{ }else { round = time / oneGameTime +1; } - if (getState() == 3){ - round -= 1; - } return round; } @@ -399,8 +398,13 @@ public class RidingSwardLogic{ * @return */ private CommonProto.RidingSwardLastRank getRidingSwardLastRank() throws ErrorCodeException { + int round = getRound()-1; + if (getState() == 3){ + int size = getRankMap("").size(); + round = size - 1; + } // 配置 - RidingSwardRank swardRank = getRankMap("").getOrDefault(getRound()-1, new RidingSwardRank()); + RidingSwardRank swardRank = getRankMap("").getOrDefault(round, new RidingSwardRank()); return CommonProto.RidingSwardLastRank.newBuilder() .setRankTime(swardRank.getTime()) .setRankId(swardRank.getRankId())