From 9f3e6f2efe565f5de21ce80b5493af370a24bbea Mon Sep 17 00:00:00 2001 From: xuexinpeng Date: Wed, 25 May 2022 19:45:05 +0800 Subject: [PATCH] =?UTF-8?q?=E7=81=B5=E8=84=89=E7=A7=98=E5=A2=83=E5=8F=91?= =?UTF-8?q?=E5=A5=96=E6=A0=B9=E6=8D=AE=E8=A1=A8=E6=97=B6=E9=97=B4=E6=AE=B5?= =?UTF-8?q?=E8=B5=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gamecommon/src/main/java/util/TimeUtils.java | 10 ++++++++++ .../ljsd/jieling/logic/arena/CrossLingmaiLogic.java | 13 +++++++++++++ .../com/ljsd/jieling/thread/task/MinuteTask.java | 3 ++- 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/gamecommon/src/main/java/util/TimeUtils.java b/gamecommon/src/main/java/util/TimeUtils.java index 61b3e384b..4fec75e00 100644 --- a/gamecommon/src/main/java/util/TimeUtils.java +++ b/gamecommon/src/main/java/util/TimeUtils.java @@ -1446,6 +1446,16 @@ public class TimeUtils { int week = calendar.get(Calendar.DAY_OF_WEEK) - 1; return week==0?7:week; } + /** + * 获取周几 + * @return + */ + public static int getDayOfWeekBytime(long time) { + Calendar calendar = Calendar.getInstance(); + calendar.setTimeInMillis(time); + int week = calendar.get(Calendar.DAY_OF_WEEK) - 1; + return week; + } /** * 获取指定时间 周几, 周日 0; 其他正常 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/CrossLingmaiLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/CrossLingmaiLogic.java index 4b50ea88f..446cd2aa0 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/CrossLingmaiLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/CrossLingmaiLogic.java @@ -22,6 +22,7 @@ import org.slf4j.LoggerFactory; import util.StringUtil; import util.TimeUtils; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Set; @@ -98,6 +99,18 @@ public class CrossLingmaiLogic { } } + //當前是否是搶奪日的24點 + public static List getSendRewardWeekDay(){ + SMServerLodeSetting setting = SMServerLodeSetting.lodeConfig.get(1); + int[][] battleTime = setting.getBattleTime(); + long mondayZeroTime = TimeUtils.getWeekZero(1); + List sendWeekDay = new ArrayList<>(); + for (int[] everyTime : battleTime) { + sendWeekDay.add(TimeUtils.getDayOfWeekBytime(mondayZeroTime + (everyTime[1]+3) * 1000)); + } + return sendWeekDay; + } + //功能是否开启 0未开启 1抢夺 2休战 public void functionIsOpen(int[] result) { SMServerLodeSetting setting = SMServerLodeSetting.lodeConfig.get(1); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java b/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java index aaa02fc6f..8b67d829c 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/thread/task/MinuteTask.java @@ -343,7 +343,8 @@ public class MinuteTask extends Thread { int w = calendar.get(Calendar.DAY_OF_WEEK) - 1; //周二 四 六 开放 9点-21点 - if( w ==2|| w==4 || w == 6){ + List weekDay = CrossLingmaiLogic.getSendRewardWeekDay(); + if(weekDay.contains(w)){ //占领奖励 if(hour>=9&&hour<21){ int mod = minute%10;