十绝阵时间判断修改

back_recharge
lvxinran 2020-06-08 15:41:23 +08:00
parent df707a8d8e
commit 979348dde1
1 changed files with 35 additions and 18 deletions

View File

@ -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()<firstStartTime){
status = -1;
@ -143,6 +132,34 @@ public class DeathPathLogic {
isOpen();
}
/**
*
* @param type
* @param timeControllerOfFunction
*/
private void calFirstStartTime(int type,TimeControllerOfFunction timeControllerOfFunction){
//
long firstStartTime = TimeUtils.getLastOrUnderHour(timeControllerOfFunction.getStartTime(), guildWarTime[0][0], guildWarTime[0][1], false);
if(type==2&&guildWarOpenTime!=null) {
int dayOfWeek = TimeUtils.getDayOfWeek(firstStartTime);
if(dayOfWeek==0){
dayOfWeek=7;
}
//判断时间防止死循环加入break
int tempDayOfWeek = dayOfWeek;
while(guildWarOpenTime[tempDayOfWeek]!=1){
//往后推移时间,计算下次开启
tempDayOfWeek=tempDayOfWeek==7?1:tempDayOfWeek+1;
firstStartTime+=TimeUtils.DAY/1000;
if(tempDayOfWeek==dayOfWeek){
break;
}
}
}
this.firstStartTime = firstStartTime;
}
private void isOpen(){
int dayOfWeek = TimeUtils.getDayOfWeek();
int currStatus=0;