Commit 8e2b5e49 authored by hanbing's avatar hanbing

[update] 不同项目的路口绿波方向抽取至配置文件

parent 0c39c8cb
package net.wanji.opt.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
@Component
@Data
@ConfigurationProperties(prefix = "direction-mappings")
public class DirectionMappingsConfig {
private Map<String, List<String>> mappings;
}
\ No newline at end of file
......@@ -13,6 +13,7 @@ import net.wanji.databus.po.*;
import net.wanji.databus.vo.AbnormalCrossListVO;
import net.wanji.databus.vo.GreenwaveListVO;
import net.wanji.opt.bo.*;
import net.wanji.opt.config.DirectionMappingsConfig;
import net.wanji.opt.dao.mapper.CrossSchemeOptLogMapper;
import net.wanji.opt.dao.mapper.strategy.SceneMapper;
import net.wanji.opt.dao.mapper.strategy.SceneStrategyIdeaMapper;
......@@ -84,6 +85,7 @@ public class TrendServiceImpl implements TrendService {
private final MainlineEvaluateServiceImpl mainlineEvaluateServiceImpl;
private final CrossLaneDataHistMapper crossLaneDataHistMapper;
private final LaneSnapshotDataQueryService laneSnapshotDataQueryService;
private final DirectionMappingsConfig directionMappingsConfig;
// 用于计算路口状态,key为方向,value为状态
private Map<Integer, Integer> preStatus = new HashMap<Integer, Integer>() {{
......@@ -109,7 +111,7 @@ public class TrendServiceImpl implements TrendService {
CrossTurnDataRealtimeMapper crossTurnDataRealtimeMapper,
CrossDirDataHistMapper crossDirDataHistMapper, EventAlarmMapper eventAlarmMapper,
RidInfoMapper ridInfoMapper, BaseCrossDirInfoMapper baseCrossDirInfoMapper,
CrossSchemeOptLogMapper crossSchemeOptLogMapper, GreenwaveCrossMapper greenwaveCrossMapper, CrossDirDataRealtimeMapper crossDirDataRealtimeMapper, GreenwaveHistMapper greenwaveHistMapper, GreenwaveRealtimeMapper greenwaveRealtimeMapper, SceneStrategyIdeaMapper strategyIdeaMapper, StrategyMapper strategyMapper, BaseCrossSchedulesMapper baseCrossSchedulesMapper, BaseCrossSchedulesPlanMapper baseCrossSchedulesPlanMapper, BaseCrossSectionMapper baseCrossSectionMapper, BaseCrossSchemeMapper crossSchemeMapper, BaseCrossSchemeMapper baseCrossSchemeMapper, BaseCrossPhaseMapper baseCrossPhaseMapper, BaseCrossPhaseLightsMapper crossPhaseLightsMapper, BaseCrossLaneLightsMapper baseCrossLaneLightsMapper, CrossBaseLaneInfoMapper crossBaseLaneInfoMapper, CrossTurnDataHistMapper crossTurnDataHistMapper, @Qualifier("greenwaveSceneMapper") GreenwaveSceneMapper greenwaveSceneMapper, @Qualifier("sceneStrategyMapper") SceneStrategyMapper sceneStrategyMapper, @Qualifier("sceneMapper") SceneMapper sceneMapper, @Qualifier("baseCrossPlanMapper") BaseCrossPlanMapper baseCrossPlanMapper, MainlineEvaluateServiceImpl mainlineEvaluateServiceImpl, CrossLaneDataHistMapper crossLaneDataHistMapper, LaneSnapshotDataQueryService laneSnapshotDataQueryService) {
CrossSchemeOptLogMapper crossSchemeOptLogMapper, GreenwaveCrossMapper greenwaveCrossMapper, CrossDirDataRealtimeMapper crossDirDataRealtimeMapper, GreenwaveHistMapper greenwaveHistMapper, GreenwaveRealtimeMapper greenwaveRealtimeMapper, SceneStrategyIdeaMapper strategyIdeaMapper, StrategyMapper strategyMapper, BaseCrossSchedulesMapper baseCrossSchedulesMapper, BaseCrossSchedulesPlanMapper baseCrossSchedulesPlanMapper, BaseCrossSectionMapper baseCrossSectionMapper, BaseCrossSchemeMapper crossSchemeMapper, BaseCrossSchemeMapper baseCrossSchemeMapper, BaseCrossPhaseMapper baseCrossPhaseMapper, BaseCrossPhaseLightsMapper crossPhaseLightsMapper, BaseCrossLaneLightsMapper baseCrossLaneLightsMapper, CrossBaseLaneInfoMapper crossBaseLaneInfoMapper, CrossTurnDataHistMapper crossTurnDataHistMapper, @Qualifier("greenwaveSceneMapper") GreenwaveSceneMapper greenwaveSceneMapper, @Qualifier("sceneStrategyMapper") SceneStrategyMapper sceneStrategyMapper, @Qualifier("sceneMapper") SceneMapper sceneMapper, @Qualifier("baseCrossPlanMapper") BaseCrossPlanMapper baseCrossPlanMapper, MainlineEvaluateServiceImpl mainlineEvaluateServiceImpl, CrossLaneDataHistMapper crossLaneDataHistMapper, LaneSnapshotDataQueryService laneSnapshotDataQueryService, DirectionMappingsConfig directionMappingsConfig) {
this.greenwaveInfoMapper = greenwaveInfoMapper;
this.baseCrossInfoMapper = baseCrossInfoMapper;
this.crossDataRealtimeMapper = crossDataRealtimeMapper;
......@@ -140,6 +142,7 @@ public class TrendServiceImpl implements TrendService {
this.mainlineEvaluateServiceImpl = mainlineEvaluateServiceImpl;
this.crossLaneDataHistMapper = crossLaneDataHistMapper;
this.laneSnapshotDataQueryService = laneSnapshotDataQueryService;
this.directionMappingsConfig = directionMappingsConfig;
}
@Override
......@@ -1009,17 +1012,13 @@ public class TrendServiceImpl implements TrendService {
}
private Integer convertDirCode(String dirStr, String crossId, Integer dirCode) {
if (Objects.equals(crossId, "13NF80B5QN0")) {
// 霞景路方向转换
if (Objects.equals(dirStr, "东")) {
dirCode = 2; // 东北
} else if (Objects.equals(dirStr, "西")) {
dirCode = 6; // 西南
}
} else if (Objects.equals(crossId, "13NGH0B5RC0")) {
// 洪山路方向转换
if (Objects.equals(dirStr, "西")) {
dirCode = 6; // 西南
List<String> dirMapList = directionMappingsConfig.getMappings().get(crossId); // 如 ["东:2","西:6"]
if (dirMapList != null) {
for (String dirMapStr : dirMapList) {
String[] split = dirMapStr.split(":");
if (dirStr.equals(split[0])) {
dirCode = Integer.parseInt(split[1]);
}
}
}
return dirCode;
......
......@@ -144,4 +144,10 @@ crossOptParam:
# 合并绿波时段
greenwave-merge:
weekday: ["07:00,09:30", "09:30,16:30", "16:30,19:00", "21:30,23:59"]
weekend: ["13:30,20:00", "21:30,23:59"]
\ No newline at end of file
weekend: ["13:30,20:00", "21:30,23:59"]
# 绿波方向转换
direction-mappings:
mappings:
"13NF80B5QN0": ["东:2","西:6"]
"13NGH0B5RC0": ["西:6"]
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