Merge branch 'master' of http://60.1.1.230/backend/jieling_server
commit
7d53e2c06e
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue