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 16c3bad43..2d9a3ee26 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/GlobalDataManaager.java @@ -81,10 +81,6 @@ public class GlobalDataManaager implements IManager { return openTimeOfFuntionCache.containsKey(id); } - public TimeControllerOfFunction getTimeControllerOfFunctionByFunctinoId(int functionId){ - return openTimeOfFuntionCache.get(functionId); - } - public TimeControllerOfFunction getTimeControllerOfFunctionByFunctinoType(FunctionIdEnum functionIdEnum){ Map sGlobalSystemConfigMap = STableManager.getConfig(SGlobalSystemConfig.class); for(Map.Entry item : openTimeOfFuntionCache.entrySet()){ @@ -430,6 +426,14 @@ public class GlobalDataManaager implements IManager { } public TimeControllerOfFunction getOpenTimeOfFuntionCacheByType(FunctionIdEnum functionIdEnum ) { - return openTimeOfFuntionCache.get(functionIdEnum.getFunctionType()); + List ids = SGlobalSystemConfig.idsByType.get(functionIdEnum); + if(ids!=null && !ids.isEmpty()){ + for(Integer id : ids){ + if(openTimeOfFuntionCache.containsKey(id)){ + return openTimeOfFuntionCache.get(id); + } + } + } + return null; } } diff --git a/tablemanager/src/main/java/config/SGlobalSystemConfig.java b/tablemanager/src/main/java/config/SGlobalSystemConfig.java index 09bb98656..8c87d4501 100644 --- a/tablemanager/src/main/java/config/SGlobalSystemConfig.java +++ b/tablemanager/src/main/java/config/SGlobalSystemConfig.java @@ -1,7 +1,13 @@ package config; +import manager.STableManager; import manager.Table; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + @Table(name ="GlobalSystemConfig") public class SGlobalSystemConfig implements BaseConfig { @@ -35,9 +41,18 @@ public class SGlobalSystemConfig implements BaseConfig { private int[][] openGifts; private int isIDdSame; + + public static Map> idsByType; @Override public void init() throws Exception { - + Map> idsByTypeTmp = new HashMap<>(); + STableManager.getConfig(SGlobalSystemConfig.class).forEach((id,item)->{ + if(!idsByTypeTmp.containsKey(item.getType())){ + idsByTypeTmp.put(item.getType(),new ArrayList<>()); + } + idsByTypeTmp.get(item.getType()).add(item.getId()); + }); + idsByType = idsByTypeTmp; }