From 744a0d4e5bae1d4065f1fda099c1ffcafa66278c Mon Sep 17 00:00:00 2001 From: xuexinpeng Date: Sat, 31 Jul 2021 10:56:29 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E9=80=90=E8=83=9C=E4=B9=8B=E5=B7=85?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E3=80=91=E5=8A=9F=E8=83=BD=E6=94=B9=E4=B8=BA?= =?UTF-8?q?=E5=9C=A8=E5=BC=80=E6=9C=8D=E6=8C=87=E5=AE=9A=E5=A4=A9=E6=95=B0?= =?UTF-8?q?=E5=90=8E=E5=BC=80=E5=90=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/logic/GlobalDataManaager.java | 70 +++++++++++++------ .../src/main/java/config/SSpecialConfig.java | 1 + 2 files changed, 49 insertions(+), 22 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java index bcd2be225..7a00f4855 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java @@ -44,6 +44,7 @@ import com.ljsd.jieling.netty.cocdex.Tea; import com.ljsd.jieling.network.server.ProtocolsManager; import com.ljsd.jieling.network.session.ISession; import com.ljsd.jieling.thread.task.RPCWorldServerTask; +import config.SSpecialConfig; import rpc.protocols.CommonProto; import rpc.protocols.MessageTypeProto; import rpc.protocols.PlayerInfoProto; @@ -118,14 +119,16 @@ public class GlobalDataManaager implements IManager { continue; } //开服几天后开启 - int[]limitDay = sGlobalSystemConfig.getIfOpen(); - if(limitDay.length>0 && limitDay != null){ - if( limitDay[0] == 2 ){ - //此时是开服第几天 - long day = TimeUtils.getGapDaysByTwoTime(GameApplication.serverConfig.getOpenTime(),TimeUtils.getTimeStamp2(TimeUtils.now()))+1; - if(day < limitDay[1]){ - closeList.add(id); - continue; + if(getServerOpenTimeCompareSpecialTimeResult()){ + int[]limitDay = sGlobalSystemConfig.getIfOpen(); + if(limitDay.length>0 && limitDay != null){ + if( limitDay[0] == 2 ){ + //此时是开服第几天 + long day = TimeUtils.getGapDaysByTwoTime(GameApplication.serverConfig.getOpenTime(),TimeUtils.getTimeStamp2(TimeUtils.now()))+1; + if(day < limitDay[1]){ + closeList.add(id); + continue; + } } } } @@ -149,13 +152,14 @@ public class GlobalDataManaager implements IManager { long mod = passTims % (diffTime + seasonInterval); // 每个周期的时间+间隔时间 if(mod < diffTime ){//新的周期开启 一轮周期的时间 //开服几天后开启 - int[]limitDay = sGlobalSystemConfig.getIfOpen(); - if(limitDay.length>0 && limitDay != null){ - if( limitDay[0] == 2 ){ - //此时是开服第几天 - long day = TimeUtils.getGapDaysByTwoTime(GameApplication.serverConfig.getOpenTime(),TimeUtils.getTimeStamp2(TimeUtils.now()))+1; - if(day < limitDay[1]){ - continue; + if(getServerOpenTimeCompareSpecialTimeResult()){ + int[]limitDay = sGlobalSystemConfig.getIfOpen(); + if(limitDay.length>0 && limitDay != null){ + if( limitDay[0] == 2 ){ + long day = TimeUtils.getGapDaysByTwoTime(GameApplication.serverConfig.getOpenTime(),TimeUtils.getTimeStamp2(TimeUtils.now()))+1; + if(day < limitDay[1]){ + continue; + } } } } @@ -326,13 +330,15 @@ public class GlobalDataManaager implements IManager { long passTims = now - seasonOpenLong; if(passTims>0){ //开服几天后开启 - int[]limitDay = sGlobalSystemConfig.getIfOpen(); - if(limitDay.length>0 && limitDay != null){ - if( limitDay[0] == 2 ){ - //此时是开服第几天 - long day = TimeUtils.getGapDaysByTwoTime(GameApplication.serverConfig.getOpenTime(),TimeUtils.getTimeStamp2(TimeUtils.now()))+1; - if(day < limitDay[1]){ - continue; + if(getServerOpenTimeCompareSpecialTimeResult()){ + int[]limitDay = sGlobalSystemConfig.getIfOpen(); + if(limitDay.length>0 && limitDay != null){ + if( limitDay[0] == 2 ){ + //此时是开服第几天 + long day = TimeUtils.getGapDaysByTwoTime(GameApplication.serverConfig.getOpenTime(),TimeUtils.getTimeStamp2(TimeUtils.now()))+1; + if(day < limitDay[1]){ + continue; + } } } } @@ -344,6 +350,8 @@ public class GlobalDataManaager implements IManager { long addTim = turns * (diffTime + seasonInterval); timeOpenOfThis =seasonOpenLong+addTim; timeCloseOfThis =seasonEndLong+addTim; + }else{ + continue; } } @@ -489,4 +497,22 @@ public class GlobalDataManaager implements IManager { } return null; } + + /** + * 从抽卡获取服务器开服时间 + * @return + */ + public boolean getServerOpenTimeCompareSpecialTimeResult(){ + // 开服时间 + long serverOpenTime = TimeUtils.stringToTimeLong2(GameApplication.serverConfig.getOpenTime()); + // 根据格式获取时间戳 例子 :20210720 + int value = SSpecialConfig.getIntegerValue(SSpecialConfig.DATA_OF_UNLOCK_THE_EVEREST); + long time = TimeUtils.stringToTimeLong(String.valueOf(value), "yyyyMMdd"); + // 规定时间之前开服的返回0 + if (serverOpenTime < time){ + return false; + }else { + return true; + } + } } diff --git a/tablemanager/src/main/java/config/SSpecialConfig.java b/tablemanager/src/main/java/config/SSpecialConfig.java index 3be5c7c6b..e5437848e 100644 --- a/tablemanager/src/main/java/config/SSpecialConfig.java +++ b/tablemanager/src/main/java/config/SSpecialConfig.java @@ -110,6 +110,7 @@ public class SSpecialConfig implements BaseConfig { public static final String LING_LONG_COST = "LingLongCost";//玲珑宝镜消耗道具ID public static final String Data_Of_Unlock_All_Wish_Hero = "DataOfUnlockAllWishHero";//在这个日期前开服的服务器默认解锁所有卡池内神将作为心愿,不走hero表加入心愿时长的判断 + public static final String DATA_OF_UNLOCK_THE_EVEREST = "DataOfUnlockTheEverest"; @Override public void init() throws Exception {