Commit 3111d7ce authored by duanruiming's avatar duanruiming

[update] 实时监控->通过场景获取优化指标参数

parent 5a6e76e6
......@@ -22,5 +22,5 @@ public interface SceneStrategyIdeaMapper {
void deleteByStrategyIds(List<Integer> ids);
int selectIdBySceneNum(Integer sceneNum);
SceneStrategyIdeaPO selectIdBySceneNum(Integer sceneNum);
}
......@@ -22,6 +22,7 @@ import net.wanji.opt.dto.CrossTurnInfoDTO;
import net.wanji.opt.po.base.CrossPhasePO;
import net.wanji.opt.po.base.CrossSchemeOptLogPO;
import net.wanji.opt.po.base.CrossSchemePO;
import net.wanji.opt.po.strategy.SceneStrategyIdeaPO;
import net.wanji.opt.po.trend.CrossDataRealtimePO;
import net.wanji.opt.service.CrossOptimizeService;
import net.wanji.opt.service.strategy.SceneService;
......@@ -136,7 +137,7 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService {
Map<String, CrossPhaseDTO> phaseMap) throws Exception {
// todo 获取溢出场景当前执行的策略方法的指标数据,通过指标数据进行下发方案
Integer sceneStrategyIdeaId = sceneService.selectIdBySceneNum(CrossStatusEnum.SPILLOVER.getCode());
SceneStrategyIdeaPO sceneStrategyIdeaPO = sceneService.selectIdBySceneNum(CrossStatusEnum.SPILLOVER.getCode());
// 溢出路口集合
Map<String, List<CrossDataRealtimePO>> congestCrossMap = abnormalCrossList.stream().collect(Collectors.groupingBy(CrossDataRealtimePO::getCrossId));
......@@ -219,7 +220,7 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService {
Map<String, CrossPhaseDTO> phaseMap) throws Exception {
// 获取拥堵场景当前执行的策略方法的指标数据,通过指标数据进行下发方案
Integer sceneStrategyIdeaId = sceneService.selectIdBySceneNum(CrossStatusEnum.CONGESTION.getCode());
SceneStrategyIdeaPO sceneStrategyIdeaPO = sceneService.selectIdBySceneNum(CrossStatusEnum.CONGESTION.getCode());
// 拥堵路口集合
Map<String, List<CrossDataRealtimePO>> congestCrossMap = abnormalCrossList.stream().collect(Collectors.groupingBy(CrossDataRealtimePO::getCrossId));
......@@ -301,7 +302,7 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService {
Map<String, CrossPhaseDTO> phaseMap) throws Exception {
// 获取失衡场景当前执行的策略方法的指标数据,通过指标数据进行下发方案
Integer sceneStrategyIdeaId = sceneService.selectIdBySceneNum(CrossStatusEnum.CONGESTION.getCode());
SceneStrategyIdeaPO sceneStrategyIdeaPO = sceneService.selectIdBySceneNum(CrossStatusEnum.CONGESTION.getCode());
String crossId;
for (CrossDataRealtimePO cross : abnormalCrossList) {
......
......@@ -4,6 +4,7 @@ import com.github.pagehelper.PageInfo;
import net.wanji.opt.dto.IntegerIdsDTO;
import net.wanji.opt.dto.strategy.AddOrUpdateSceneDTO;
import net.wanji.opt.dto.strategy.QuerySceneDTO;
import net.wanji.opt.po.strategy.SceneStrategyIdeaPO;
/**
* @author hanbing
......@@ -24,5 +25,5 @@ public interface SceneService {
* @param sceneNum
* @return
*/
Integer selectIdBySceneNum(Integer sceneNum);
SceneStrategyIdeaPO selectIdBySceneNum(Integer sceneNum);
}
......@@ -51,7 +51,7 @@ public class SceneServiceImpl implements SceneService {
}
@Override
public Integer selectIdBySceneNum(Integer sceneNum) {
public SceneStrategyIdeaPO selectIdBySceneNum(Integer sceneNum) {
return sceneStrategyIdeaMapper.selectIdBySceneNum(sceneNum);
}
......
......@@ -3,8 +3,8 @@
<mapper namespace="net.wanji.opt.dao.mapper.strategy.SceneStrategyIdeaMapper">
<insert id="insertOne" keyProperty="id" useGeneratedKeys="true">
insert into t_strategy_scene_strategy_idea(scene_id,strategy_id,idea_id,idea_order)
values (#{sceneId},#{strategyId},#{ideaId},#{ideaOrder})
insert into t_strategy_scene_strategy_idea(scene_id, strategy_id, idea_id, idea_order)
values (#{sceneId}, #{strategyId}, #{ideaId}, #{ideaOrder})
</insert>
<delete id="deleteBySceneIds">
......@@ -32,21 +32,33 @@
</delete>
<select id="selectBySceneIdAndStrategyId" resultType="net.wanji.opt.po.strategy.SceneStrategyIdeaPO">
select
id,scene_id,strategy_id,idea_id,idea_order,gmt_create,gmt_modified
select id,
scene_id,
strategy_id,
idea_id,
idea_order,
gmt_create,
gmt_modified
from t_strategy_scene_strategy_idea
where scene_id = #{sceneId} and strategy_id = #{strategyId}
where scene_id = #{sceneId}
and strategy_id = #{strategyId}
</select>
<select id="selectIdBySceneNum" resultType="Integer">
select
max( id )
from
t_strategy_scene_strategy_idea t1
inner join ( select scene_id, strategy_id from t_strategy_scene_strategy where
scene_id = ( select id from t_strategy_scene where scene_num = #{sceneNum} )
and scene_strategy_priority = 1 ) t2
on t1.scene_id = t2.scene_id and t1.strategy_id = t2.strategy_id;
<select id="selectIdBySceneNum" resultType="net.wanji.opt.po.strategy.SceneStrategyIdeaPO">
select t1.id,
t1.scene_id,
t1.strategy_id,
t1.idea_id,
t1.idea_order,
t1.gmt_create,
t1.gmt_modified
from t_strategy_scene_strategy_idea t1
inner join (select scene_id, strategy_id
from t_strategy_scene_strategy
where scene_id = (select id from t_strategy_scene where scene_num = #{sceneNum})
and scene_strategy_priority = 1) t2 on t1.scene_id = t2.scene_id
and t1.strategy_id = t2.strategy_id
ORDER BY t1.idea_order desc limit 1
</select>
</mapper>
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