Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
T
traffic-signal-platform
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
signal
traffic-signal-platform
Commits
3111d7ce
Commit
3111d7ce
authored
Mar 06, 2023
by
duanruiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[update] 实时监控->通过场景获取优化指标参数
parent
5a6e76e6
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
34 additions
and
20 deletions
+34
-20
SceneStrategyIdeaMapper.java
...anji/opt/dao/mapper/strategy/SceneStrategyIdeaMapper.java
+1
-1
CrossOptimizeServiceImpl.java
.../net/wanji/opt/service/impl/CrossOptimizeServiceImpl.java
+4
-3
SceneService.java
...ain/java/net/wanji/opt/service/strategy/SceneService.java
+2
-1
SceneServiceImpl.java
...net/wanji/opt/service/strategy/impl/SceneServiceImpl.java
+1
-1
SceneStrategyIdeaMapper.xml
...ain/resources/mapper/strategy/SceneStrategyIdeaMapper.xml
+26
-14
No files found.
signal-optimize-service/src/main/java/net/wanji/opt/dao/mapper/strategy/SceneStrategyIdeaMapper.java
View file @
3111d7ce
...
@@ -22,5 +22,5 @@ public interface SceneStrategyIdeaMapper {
...
@@ -22,5 +22,5 @@ public interface SceneStrategyIdeaMapper {
void
deleteByStrategyIds
(
List
<
Integer
>
ids
);
void
deleteByStrategyIds
(
List
<
Integer
>
ids
);
int
selectIdBySceneNum
(
Integer
sceneNum
);
SceneStrategyIdeaPO
selectIdBySceneNum
(
Integer
sceneNum
);
}
}
signal-optimize-service/src/main/java/net/wanji/opt/service/impl/CrossOptimizeServiceImpl.java
View file @
3111d7ce
...
@@ -22,6 +22,7 @@ import net.wanji.opt.dto.CrossTurnInfoDTO;
...
@@ -22,6 +22,7 @@ import net.wanji.opt.dto.CrossTurnInfoDTO;
import
net.wanji.opt.po.base.CrossPhasePO
;
import
net.wanji.opt.po.base.CrossPhasePO
;
import
net.wanji.opt.po.base.CrossSchemeOptLogPO
;
import
net.wanji.opt.po.base.CrossSchemeOptLogPO
;
import
net.wanji.opt.po.base.CrossSchemePO
;
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.po.trend.CrossDataRealtimePO
;
import
net.wanji.opt.service.CrossOptimizeService
;
import
net.wanji.opt.service.CrossOptimizeService
;
import
net.wanji.opt.service.strategy.SceneService
;
import
net.wanji.opt.service.strategy.SceneService
;
...
@@ -136,7 +137,7 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService {
...
@@ -136,7 +137,7 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService {
Map
<
String
,
CrossPhaseDTO
>
phaseMap
)
throws
Exception
{
Map
<
String
,
CrossPhaseDTO
>
phaseMap
)
throws
Exception
{
// todo 获取溢出场景当前执行的策略方法的指标数据,通过指标数据进行下发方案
// 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
));
Map
<
String
,
List
<
CrossDataRealtimePO
>>
congestCrossMap
=
abnormalCrossList
.
stream
().
collect
(
Collectors
.
groupingBy
(
CrossDataRealtimePO:
:
getCrossId
));
...
@@ -219,7 +220,7 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService {
...
@@ -219,7 +220,7 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService {
Map
<
String
,
CrossPhaseDTO
>
phaseMap
)
throws
Exception
{
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
));
Map
<
String
,
List
<
CrossDataRealtimePO
>>
congestCrossMap
=
abnormalCrossList
.
stream
().
collect
(
Collectors
.
groupingBy
(
CrossDataRealtimePO:
:
getCrossId
));
...
@@ -301,7 +302,7 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService {
...
@@ -301,7 +302,7 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService {
Map
<
String
,
CrossPhaseDTO
>
phaseMap
)
throws
Exception
{
Map
<
String
,
CrossPhaseDTO
>
phaseMap
)
throws
Exception
{
// 获取失衡场景当前执行的策略方法的指标数据,通过指标数据进行下发方案
// 获取失衡场景当前执行的策略方法的指标数据,通过指标数据进行下发方案
Integer
sceneStrategyIdeaId
=
sceneService
.
selectIdBySceneNum
(
CrossStatusEnum
.
CONGESTION
.
getCode
());
SceneStrategyIdeaPO
sceneStrategyIdeaPO
=
sceneService
.
selectIdBySceneNum
(
CrossStatusEnum
.
CONGESTION
.
getCode
());
String
crossId
;
String
crossId
;
for
(
CrossDataRealtimePO
cross
:
abnormalCrossList
)
{
for
(
CrossDataRealtimePO
cross
:
abnormalCrossList
)
{
...
...
signal-optimize-service/src/main/java/net/wanji/opt/service/strategy/SceneService.java
View file @
3111d7ce
...
@@ -4,6 +4,7 @@ import com.github.pagehelper.PageInfo;
...
@@ -4,6 +4,7 @@ import com.github.pagehelper.PageInfo;
import
net.wanji.opt.dto.IntegerIdsDTO
;
import
net.wanji.opt.dto.IntegerIdsDTO
;
import
net.wanji.opt.dto.strategy.AddOrUpdateSceneDTO
;
import
net.wanji.opt.dto.strategy.AddOrUpdateSceneDTO
;
import
net.wanji.opt.dto.strategy.QuerySceneDTO
;
import
net.wanji.opt.dto.strategy.QuerySceneDTO
;
import
net.wanji.opt.po.strategy.SceneStrategyIdeaPO
;
/**
/**
* @author hanbing
* @author hanbing
...
@@ -24,5 +25,5 @@ public interface SceneService {
...
@@ -24,5 +25,5 @@ public interface SceneService {
* @param sceneNum
* @param sceneNum
* @return
* @return
*/
*/
Integer
selectIdBySceneNum
(
Integer
sceneNum
);
SceneStrategyIdeaPO
selectIdBySceneNum
(
Integer
sceneNum
);
}
}
signal-optimize-service/src/main/java/net/wanji/opt/service/strategy/impl/SceneServiceImpl.java
View file @
3111d7ce
...
@@ -51,7 +51,7 @@ public class SceneServiceImpl implements SceneService {
...
@@ -51,7 +51,7 @@ public class SceneServiceImpl implements SceneService {
}
}
@Override
@Override
public
Integer
selectIdBySceneNum
(
Integer
sceneNum
)
{
public
SceneStrategyIdeaPO
selectIdBySceneNum
(
Integer
sceneNum
)
{
return
sceneStrategyIdeaMapper
.
selectIdBySceneNum
(
sceneNum
);
return
sceneStrategyIdeaMapper
.
selectIdBySceneNum
(
sceneNum
);
}
}
...
...
signal-optimize-service/src/main/resources/mapper/strategy/SceneStrategyIdeaMapper.xml
View file @
3111d7ce
...
@@ -3,8 +3,8 @@
...
@@ -3,8 +3,8 @@
<mapper
namespace=
"net.wanji.opt.dao.mapper.strategy.SceneStrategyIdeaMapper"
>
<mapper
namespace=
"net.wanji.opt.dao.mapper.strategy.SceneStrategyIdeaMapper"
>
<insert
id=
"insertOne"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
<insert
id=
"insertOne"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
insert into t_strategy_scene_strategy_idea(scene_id,
strategy_id,idea_id,
idea_order)
insert into t_strategy_scene_strategy_idea(scene_id,
strategy_id, idea_id,
idea_order)
values (#{sceneId},
#{strategyId},#{ideaId},
#{ideaOrder})
values (#{sceneId},
#{strategyId}, #{ideaId},
#{ideaOrder})
</insert>
</insert>
<delete
id=
"deleteBySceneIds"
>
<delete
id=
"deleteBySceneIds"
>
...
@@ -32,21 +32,33 @@
...
@@ -32,21 +32,33 @@
</delete>
</delete>
<select
id=
"selectBySceneIdAndStrategyId"
resultType=
"net.wanji.opt.po.strategy.SceneStrategyIdeaPO"
>
<select
id=
"selectBySceneIdAndStrategyId"
resultType=
"net.wanji.opt.po.strategy.SceneStrategyIdeaPO"
>
select
select id,
id,scene_id,strategy_id,idea_id,idea_order,gmt_create,gmt_modified
scene_id,
strategy_id,
idea_id,
idea_order,
gmt_create,
gmt_modified
from t_strategy_scene_strategy_idea
from t_strategy_scene_strategy_idea
where scene_id = #{sceneId} and strategy_id = #{strategyId}
where scene_id = #{sceneId}
and strategy_id = #{strategyId}
</select>
</select>
<select
id=
"selectIdBySceneNum"
resultType=
"Integer"
>
<select
id=
"selectIdBySceneNum"
resultType=
"net.wanji.opt.po.strategy.SceneStrategyIdeaPO"
>
select
select t1.id,
max( id )
t1.scene_id,
from
t1.strategy_id,
t_strategy_scene_strategy_idea t1
t1.idea_id,
inner join ( select scene_id, strategy_id from t_strategy_scene_strategy where
t1.idea_order,
scene_id = ( select id from t_strategy_scene where scene_num = #{sceneNum} )
t1.gmt_create,
and scene_strategy_priority = 1 ) t2
t1.gmt_modified
on t1.scene_id = t2.scene_id and t1.strategy_id = t2.strategy_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
ORDER BY t1.idea_order desc limit 1
</select>
</select>
</mapper>
</mapper>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment