diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/DeathPathLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/DeathPathLogic.java index 1be31eea2..2994afd82 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/family/DeathPathLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/family/DeathPathLogic.java @@ -62,6 +62,9 @@ public class DeathPathLogic { private int overTime; + //第一次开启时间 + private long firstStartTime; + private static final Logger LOGGER = LoggerFactory.getLogger(DeathPathLogic.class); private Thread taskExecutor = null; @@ -111,29 +114,15 @@ public class DeathPathLogic { if(guildWarTime==null){ guildWarTime = SGuildSetting.sGuildSetting.getGuildWarTime(); } + //功能是否开启 TimeControllerOfFunction timeControllerOfFunction = GlobalDataManaager.getInstance().getTimeControllerOfFunctionByFunctinoType(FunctionIdEnum.DeathPath); if(timeControllerOfFunction==null){ status = -1; return; } - //第一次开启时间判断 - long firstStartTime = TimeUtils.getLastOrUnderHour(timeControllerOfFunction.getStartTime(), guildWarTime[0][0], guildWarTime[0][1], false); - if(setting[0]==2&&guildWarOpenTime!=null) { - - int dayOfWeek = TimeUtils.getDayOfWeek(firstStartTime); - if(dayOfWeek==0){ - dayOfWeek=7; - } - //判断时间,防止死循环加入break - int tempDayOfWeek = dayOfWeek; - while(guildWarOpenTime[tempDayOfWeek]==0){ - //往后推移时间,计算下次开启 - tempDayOfWeek=tempDayOfWeek==7?1:tempDayOfWeek+1; - firstStartTime+=firstStartTime+TimeUtils.DAY; - if(tempDayOfWeek==dayOfWeek){ - break; - } - } + //如果为零计算一下第一次开启时间 + if(firstStartTime==0){ + calFirstStartTime(setting[0],timeControllerOfFunction); } if(TimeUtils.now()