Commit c6f5b6a5 authored by duanruiming's avatar duanruiming

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

parent 0589d627
......@@ -26,12 +26,25 @@ public class CrossPhaseInfoCache implements CommandLineRunner {
@Resource
CrossPhaseMapper crossPhaseMapper;
/**
* 路口相位缓存
* key:crossId value:List<CrossPhasePO>
*/
private static Map<String, List<CrossPhasePO>> crossPhaseInfoMap = new HashMap<>();
/**
* 获取所有路口相位列表
* @return
*/
public static Map<String, List<CrossPhasePO>> getCrossPhaseInfoCache() {
return crossPhaseInfoMap;
}
/**
* 通过路口编号获取路口列表
* @param crossId
* @return
*/
public static List<CrossPhasePO> getCrossPhaseCacheByCrossId(String crossId) {
if (!crossPhaseInfoMap.isEmpty()) {
return crossPhaseInfoMap.get(crossId);
......@@ -39,6 +52,9 @@ public class CrossPhaseInfoCache implements CommandLineRunner {
return Collections.EMPTY_LIST;
}
/**
* 刷新缓存
*/
public void refresh() {
init();
}
......
......@@ -29,10 +29,19 @@ public class CrossSchemeInfoCache implements CommandLineRunner {
*/
private static Map<String, CrossSchemePO> crossSchemeInfoMap = new HashMap<>();
/**
* 获取所有路口方案信息
* @return
*/
public static Map<String, CrossSchemePO> getCrossSchemeInfosCache() {
return crossSchemeInfoMap;
}
/**
* 通过路口编号_方案id获取方案信息
* @param key: crossId_id
* @return
*/
public static CrossSchemePO geteSchemePOCache(String key) {
if (!crossSchemeInfoMap.isEmpty()) {
return crossSchemeInfoMap.get(key);
......@@ -40,6 +49,9 @@ public class CrossSchemeInfoCache implements CommandLineRunner {
return null;
}
/**
* 刷新缓存
*/
public void refresh() {
init();
}
......@@ -58,7 +70,7 @@ public class CrossSchemeInfoCache implements CommandLineRunner {
crossSchemePOS.forEach(crossSchemePO -> {
String crossId = crossSchemePO.getCrossId();
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);
});
}
......
......@@ -503,7 +503,7 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService {
}
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));
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