Commit c6f5b6a5 authored by duanruiming's avatar duanruiming

[update] 实时监控->代码优化

parent 0589d627
...@@ -26,12 +26,25 @@ public class CrossPhaseInfoCache implements CommandLineRunner { ...@@ -26,12 +26,25 @@ public class CrossPhaseInfoCache implements CommandLineRunner {
@Resource @Resource
CrossPhaseMapper crossPhaseMapper; CrossPhaseMapper crossPhaseMapper;
/**
* 路口相位缓存
* key:crossId value:List<CrossPhasePO>
*/
private static Map<String, List<CrossPhasePO>> crossPhaseInfoMap = new HashMap<>(); private static Map<String, List<CrossPhasePO>> crossPhaseInfoMap = new HashMap<>();
/**
* 获取所有路口相位列表
* @return
*/
public static Map<String, List<CrossPhasePO>> getCrossPhaseInfoCache() { public static Map<String, List<CrossPhasePO>> getCrossPhaseInfoCache() {
return crossPhaseInfoMap; return crossPhaseInfoMap;
} }
/**
* 通过路口编号获取路口列表
* @param crossId
* @return
*/
public static List<CrossPhasePO> getCrossPhaseCacheByCrossId(String crossId) { public static List<CrossPhasePO> getCrossPhaseCacheByCrossId(String crossId) {
if (!crossPhaseInfoMap.isEmpty()) { if (!crossPhaseInfoMap.isEmpty()) {
return crossPhaseInfoMap.get(crossId); return crossPhaseInfoMap.get(crossId);
...@@ -39,6 +52,9 @@ public class CrossPhaseInfoCache implements CommandLineRunner { ...@@ -39,6 +52,9 @@ public class CrossPhaseInfoCache implements CommandLineRunner {
return Collections.EMPTY_LIST; return Collections.EMPTY_LIST;
} }
/**
* 刷新缓存
*/
public void refresh() { public void refresh() {
init(); init();
} }
......
...@@ -29,10 +29,19 @@ public class CrossSchemeInfoCache implements CommandLineRunner { ...@@ -29,10 +29,19 @@ public class CrossSchemeInfoCache implements CommandLineRunner {
*/ */
private static Map<String, CrossSchemePO> crossSchemeInfoMap = new HashMap<>(); private static Map<String, CrossSchemePO> crossSchemeInfoMap = new HashMap<>();
/**
* 获取所有路口方案信息
* @return
*/
public static Map<String, CrossSchemePO> getCrossSchemeInfosCache() { public static Map<String, CrossSchemePO> getCrossSchemeInfosCache() {
return crossSchemeInfoMap; return crossSchemeInfoMap;
} }
/**
* 通过路口编号_方案id获取方案信息
* @param key: crossId_id
* @return
*/
public static CrossSchemePO geteSchemePOCache(String key) { public static CrossSchemePO geteSchemePOCache(String key) {
if (!crossSchemeInfoMap.isEmpty()) { if (!crossSchemeInfoMap.isEmpty()) {
return crossSchemeInfoMap.get(key); return crossSchemeInfoMap.get(key);
...@@ -40,6 +49,9 @@ public class CrossSchemeInfoCache implements CommandLineRunner { ...@@ -40,6 +49,9 @@ public class CrossSchemeInfoCache implements CommandLineRunner {
return null; return null;
} }
/**
* 刷新缓存
*/
public void refresh() { public void refresh() {
init(); init();
} }
...@@ -58,7 +70,7 @@ public class CrossSchemeInfoCache implements CommandLineRunner { ...@@ -58,7 +70,7 @@ public class CrossSchemeInfoCache implements CommandLineRunner {
crossSchemePOS.forEach(crossSchemePO -> { crossSchemePOS.forEach(crossSchemePO -> {
String crossId = crossSchemePO.getCrossId(); String crossId = crossSchemePO.getCrossId();
Integer schemeId = crossSchemePO.getId(); Integer schemeId = crossSchemePO.getId();
String key = String.join("_", crossId, String.valueOf(schemeId)); String key = String.join(Constants.SystemParam.SEPARATOR_UNDER_LINE, crossId, String.valueOf(schemeId));
crossSchemeInfoMap.put(key, crossSchemePO); crossSchemeInfoMap.put(key, crossSchemePO);
}); });
} }
......
...@@ -503,7 +503,7 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService { ...@@ -503,7 +503,7 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService {
} }
Integer schemeId = crossPhaseDTO.getSchemeId(); Integer schemeId = crossPhaseDTO.getSchemeId();
CrossSchemePO crossSchemePO = geteSchemePOCache(String.join("_", crossId, String.valueOf(schemeId))); CrossSchemePO crossSchemePO = geteSchemePOCache(String.join(Constants.SystemParam.SEPARATOR_UNDER_LINE, crossId, String.valueOf(schemeId)));
Map<Integer, List<CrossPhasePO>> ringNoPhasePOMap = getCrossPhaseCacheByCrossId(crossId).stream().collect(Collectors.groupingBy(CrossPhasePO::getRingNo)); Map<Integer, List<CrossPhasePO>> ringNoPhasePOMap = getCrossPhaseCacheByCrossId(crossId).stream().collect(Collectors.groupingBy(CrossPhasePO::getRingNo));
SchemeSendVO schemeSendVO = new SchemeSendVO(); SchemeSendVO schemeSendVO = new SchemeSendVO();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment