From 7cbe91a672520573047aa9d0a5bd56c5ca907ec4 Mon Sep 17 00:00:00 2001 From: wangyuan Date: Wed, 5 Jun 2019 20:15:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=8A=9F=E8=83=BD=E6=97=B6?= =?UTF-8?q?=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jieling/logic/GlobalDataManaager.java | 20 +++++++++---------- .../com/ljsd/jieling/util/StringUtil.java | 11 ++++++++-- 2 files changed, 18 insertions(+), 13 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 12ba5c22f..d22523934 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java @@ -92,7 +92,7 @@ public class GlobalDataManaager { } Map timeControllerOfFunctionMap = globalSystemControl.getTimeControllerOfFunctionMap(); List reallyOpenList = new ArrayList<>(); - List reallyCloseList = new ArrayList<>(); + // List reallyCloseList = new ArrayList<>(); boolean needUpdate=false; for(Integer id: openList){ TimeControllerOfFunction timeControllerOfFunction = timeControllerOfFunctionMap.get(id); @@ -110,20 +110,20 @@ public class GlobalDataManaager { } for(Integer id: closeList){ - TimeControllerOfFunction timeControllerOfFunction = timeControllerOfFunctionMap.get(id); + /* TimeControllerOfFunction timeControllerOfFunction = timeControllerOfFunctionMap.get(id); if(timeControllerOfFunction != null && timeControllerOfFunction.getStartTime()!=openTimeOfFuntionCache.get(id).getStartTime()){ needUpdate = true; globalSystemControl.updateTimeControllerOfFunction(openTimeOfFuntionCache.get(id)); reallyCloseList.add(id); - } + }*/ openTimeOfFuntionCache.remove(id); } if(needUpdate){ MongoUtil.getInstence().getMyMongoTemplate().save(globalSystemControl); openAction(reallyOpenList); - closeAction(reallyCloseList); } + closeAction(closeList); updateGetFunctionOfTimeResponse(); } @@ -182,27 +182,25 @@ public class GlobalDataManaager { long systemEndLong = sGlobalSystemConfig.getSystemEndLong(); long seasonOpenLong = sGlobalSystemConfig.getSeasonOpenLong(); long seasonEndLong = sGlobalSystemConfig.getSeasonEndLong(); - int seasonInterval = sGlobalSystemConfig.getSeasonInterval() * 3600; - long timeOpenOfThis =0; - long timeCloseOfThis =0; + int seasonInterval = sGlobalSystemConfig.getSeasonInterval() * 3600*1000; + long timeOpenOfThis =seasonOpenLong; + long timeCloseOfThis =seasonEndLong; if(seasonInterval == 0){ timeOpenOfThis = systemOpenLong; timeCloseOfThis = systemEndLong; }else{ long diffTime = seasonEndLong - seasonOpenLong; + long passTims = now - seasonOpenLong; if(passTims>0){ long mod = passTims % (diffTime + seasonInterval); if(mod < diffTime ){//新的周期开启 //计算开启时间、关闭时间 long turns = passTims / ((diffTime + seasonInterval)); - long addTim = turns * diffTime; + long addTim = turns * (diffTime + seasonInterval); timeOpenOfThis =seasonOpenLong+addTim; timeCloseOfThis =seasonEndLong+addTim; } - }else{ - timeOpenOfThis =seasonOpenLong; - timeCloseOfThis =seasonEndLong; } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/util/StringUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/util/StringUtil.java index 44e3fb61d..0e1a6f364 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/util/StringUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/util/StringUtil.java @@ -157,8 +157,15 @@ public class StringUtil { public static String parseArrayToString(int[][] source) { StringBuilder sb = new StringBuilder(); - for(int[] item : source){ - sb.append(item[0]).append("#").append(item[1]).append("|"); + int length = source.length; + int last = length-1; + for(int i=0;i