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 int overTime;
|
||||||
|
|
||||||
|
//第一次开启时间
|
||||||
|
private long firstStartTime;
|
||||||
|
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(DeathPathLogic.class);
|
private static final Logger LOGGER = LoggerFactory.getLogger(DeathPathLogic.class);
|
||||||
|
|
||||||
private Thread taskExecutor = null;
|
private Thread taskExecutor = null;
|
||||||
|
@ -111,29 +114,15 @@ public class DeathPathLogic {
|
||||||
if(guildWarTime==null){
|
if(guildWarTime==null){
|
||||||
guildWarTime = SGuildSetting.sGuildSetting.getGuildWarTime();
|
guildWarTime = SGuildSetting.sGuildSetting.getGuildWarTime();
|
||||||
}
|
}
|
||||||
|
//功能是否开启
|
||||||
TimeControllerOfFunction timeControllerOfFunction = GlobalDataManaager.getInstance().getTimeControllerOfFunctionByFunctinoType(FunctionIdEnum.DeathPath);
|
TimeControllerOfFunction timeControllerOfFunction = GlobalDataManaager.getInstance().getTimeControllerOfFunctionByFunctinoType(FunctionIdEnum.DeathPath);
|
||||||
if(timeControllerOfFunction==null){
|
if(timeControllerOfFunction==null){
|
||||||
status = -1;
|
status = -1;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//第一次开启时间判断
|
//如果为零计算一下第一次开启时间
|
||||||
long firstStartTime = TimeUtils.getLastOrUnderHour(timeControllerOfFunction.getStartTime(), guildWarTime[0][0], guildWarTime[0][1], false);
|
if(firstStartTime==0){
|
||||||
if(setting[0]==2&&guildWarOpenTime!=null) {
|
calFirstStartTime(setting[0],timeControllerOfFunction);
|
||||||
|
|
||||||
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(TimeUtils.now()<firstStartTime){
|
if(TimeUtils.now()<firstStartTime){
|
||||||
status = -1;
|
status = -1;
|
||||||
|
@ -143,6 +132,34 @@ public class DeathPathLogic {
|
||||||
isOpen();
|
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(){
|
private void isOpen(){
|
||||||
int dayOfWeek = TimeUtils.getDayOfWeek();
|
int dayOfWeek = TimeUtils.getDayOfWeek();
|
||||||
int currStatus=0;
|
int currStatus=0;
|
||||||
|
|
Loading…
Reference in New Issue