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
77b1e0bc
Commit
77b1e0bc
authored
Oct 26, 2023
by
hanbing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[add] 态势监测-数量实时推送
parent
97861203
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
71 additions
and
3 deletions
+71
-3
TrendController.java
...c/main/java/net/wanji/opt/controller/TrendController.java
+19
-2
TrendService.java
...ice/src/main/java/net/wanji/opt/service/TrendService.java
+2
-0
TrendServiceImpl.java
...ain/java/net/wanji/opt/service/impl/TrendServiceImpl.java
+24
-1
CountRealTimeVO.java
...rvice/src/main/java/net/wanji/opt/vo/CountRealTimeVO.java
+16
-0
CrossLaneDataHistMapper.java
...net/wanji/databus/dao/mapper/CrossLaneDataHistMapper.java
+2
-0
CrossLaneDataHistMapper.xml
...bus/src/main/resources/mapper/CrossLaneDataHistMapper.xml
+8
-0
No files found.
signal-optimize-service/src/main/java/net/wanji/opt/controller/TrendController.java
View file @
77b1e0bc
...
@@ -4,9 +4,13 @@ import io.swagger.annotations.Api;
...
@@ -4,9 +4,13 @@ import io.swagger.annotations.Api;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiResponse
;
import
io.swagger.annotations.ApiResponse
;
import
io.swagger.annotations.ApiResponses
;
import
io.swagger.annotations.ApiResponses
;
import
net.wanji.databus.bo.CrossIdBO
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.opt.bo.*
;
import
net.wanji.databus.bo.CrossIdBO
;
import
net.wanji.opt.bo.GreenwaveDetailBO
;
import
net.wanji.opt.bo.GreenwaveIdAndTimeStampBO
;
import
net.wanji.opt.bo.GreenwaveIdBO
;
import
net.wanji.opt.bo.SaveGreenwaveStrategyBO
;
import
net.wanji.opt.dto.strategy.AddOrUpdateSceneDTO
;
import
net.wanji.opt.dto.trend.AbnormalCrossListDTO
;
import
net.wanji.opt.dto.trend.AbnormalCrossListDTO
;
import
net.wanji.opt.dto.trend.EventAlarmDTO
;
import
net.wanji.opt.dto.trend.EventAlarmDTO
;
import
net.wanji.opt.dto.trend.GreenwaveListDTO
;
import
net.wanji.opt.dto.trend.GreenwaveListDTO
;
...
@@ -171,4 +175,17 @@ public class TrendController {
...
@@ -171,4 +175,17 @@ public class TrendController {
return
jsonViewObject
.
success
(
eventAlarmVOList
);
return
jsonViewObject
.
success
(
eventAlarmVOList
);
}
}
@ApiOperation
(
value
=
"数量实时推送"
,
notes
=
"数量实时推送"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/countRealTime"
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
AddOrUpdateSceneDTO
.
class
),
})
public
JsonViewObject
countRealTime
(
@RequestBody
CrossIdBO
crossIdBO
)
{
String
crossId
=
crossIdBO
.
getCrossId
();
CountRealTimeVO
countRealTimeVO
=
trendService
.
countRealTime
(
crossId
);
return
JsonViewObject
.
newInstance
().
success
(
countRealTimeVO
);
}
}
}
\ No newline at end of file
signal-optimize-service/src/main/java/net/wanji/opt/service/TrendService.java
View file @
77b1e0bc
...
@@ -37,4 +37,6 @@ public interface TrendService {
...
@@ -37,4 +37,6 @@ public interface TrendService {
void
saveGreenwaveStrategy
(
SaveGreenwaveStrategyBO
saveGreenwaveStrategyBO
);
void
saveGreenwaveStrategy
(
SaveGreenwaveStrategyBO
saveGreenwaveStrategyBO
);
GreenwaveDetailVO
currentGreenwaveDetail
(
GreenwaveIdBO
bo
)
throws
ParseException
;
GreenwaveDetailVO
currentGreenwaveDetail
(
GreenwaveIdBO
bo
)
throws
ParseException
;
CountRealTimeVO
countRealTime
(
String
crossId
);
}
}
signal-optimize-service/src/main/java/net/wanji/opt/service/impl/TrendServiceImpl.java
View file @
77b1e0bc
...
@@ -36,6 +36,9 @@ import java.math.BigDecimal;
...
@@ -36,6 +36,9 @@ import java.math.BigDecimal;
import
java.math.RoundingMode
;
import
java.math.RoundingMode
;
import
java.text.ParseException
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.text.SimpleDateFormat
;
import
java.time.LocalDateTime
;
import
java.time.ZoneId
;
import
java.time.ZonedDateTime
;
import
java.util.*
;
import
java.util.*
;
import
java.util.function.Function
;
import
java.util.function.Function
;
import
java.util.regex.Matcher
;
import
java.util.regex.Matcher
;
...
@@ -76,6 +79,7 @@ public class TrendServiceImpl implements TrendService {
...
@@ -76,6 +79,7 @@ public class TrendServiceImpl implements TrendService {
private
final
SceneMapper
sceneMapper
;
private
final
SceneMapper
sceneMapper
;
private
final
BaseCrossPlanMapper
baseCrossPlanMapper
;
private
final
BaseCrossPlanMapper
baseCrossPlanMapper
;
private
final
MainlineEvaluateServiceImpl
mainlineEvaluateServiceImpl
;
private
final
MainlineEvaluateServiceImpl
mainlineEvaluateServiceImpl
;
private
final
CrossLaneDataHistMapper
crossLaneDataHistMapper
;
// 用于计算路口状态,key为方向,value为状态
// 用于计算路口状态,key为方向,value为状态
private
Map
<
Integer
,
Integer
>
preStatus
=
new
HashMap
<
Integer
,
Integer
>()
{{
private
Map
<
Integer
,
Integer
>
preStatus
=
new
HashMap
<
Integer
,
Integer
>()
{{
...
@@ -96,7 +100,7 @@ public class TrendServiceImpl implements TrendService {
...
@@ -96,7 +100,7 @@ public class TrendServiceImpl implements TrendService {
CrossTurnDataRealtimeMapper
crossTurnDataRealtimeMapper
,
CrossTurnDataRealtimeMapper
crossTurnDataRealtimeMapper
,
CrossDirDataHistMapper
crossDirDataHistMapper
,
EventAlarmMapper
eventAlarmMapper
,
CrossDirDataHistMapper
crossDirDataHistMapper
,
EventAlarmMapper
eventAlarmMapper
,
RidInfoMapper
ridInfoMapper
,
BaseCrossDirInfoMapper
baseCrossDirInfoMapper
,
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
)
{
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
)
{
this
.
greenwaveInfoMapper
=
greenwaveInfoMapper
;
this
.
greenwaveInfoMapper
=
greenwaveInfoMapper
;
this
.
baseCrossInfoMapper
=
baseCrossInfoMapper
;
this
.
baseCrossInfoMapper
=
baseCrossInfoMapper
;
this
.
crossDataRealtimeMapper
=
crossDataRealtimeMapper
;
this
.
crossDataRealtimeMapper
=
crossDataRealtimeMapper
;
...
@@ -125,6 +129,7 @@ public class TrendServiceImpl implements TrendService {
...
@@ -125,6 +129,7 @@ public class TrendServiceImpl implements TrendService {
this
.
sceneMapper
=
sceneMapper
;
this
.
sceneMapper
=
sceneMapper
;
this
.
baseCrossPlanMapper
=
baseCrossPlanMapper
;
this
.
baseCrossPlanMapper
=
baseCrossPlanMapper
;
this
.
mainlineEvaluateServiceImpl
=
mainlineEvaluateServiceImpl
;
this
.
mainlineEvaluateServiceImpl
=
mainlineEvaluateServiceImpl
;
this
.
crossLaneDataHistMapper
=
crossLaneDataHistMapper
;
}
}
@Override
@Override
...
@@ -1035,6 +1040,24 @@ public class TrendServiceImpl implements TrendService {
...
@@ -1035,6 +1040,24 @@ public class TrendServiceImpl implements TrendService {
return
greenwaveDetailVO
;
return
greenwaveDetailVO
;
}
}
@Override
public
CountRealTimeVO
countRealTime
(
String
crossId
)
{
CountRealTimeVO
countRealTimeVO
=
new
CountRealTimeVO
();
// todo 统计实时条数
// countRealTimeVO.setRealTimeCount();
// 统计周期条数
ZoneId
zoneId
=
ZoneId
.
systemDefault
();
ZonedDateTime
startOfDay
=
LocalDateTime
.
now
().
toLocalDate
().
atStartOfDay
(
zoneId
);
ZonedDateTime
now
=
ZonedDateTime
.
now
(
zoneId
);
int
startTimeStamp
=
(
int
)
startOfDay
.
toEpochSecond
();
int
endTimeStamp
=
(
int
)
now
.
toEpochSecond
();
Integer
cycleCount
=
crossLaneDataHistMapper
.
selectCountByCrossIdAndTimeSpan
(
crossId
,
startTimeStamp
,
endTimeStamp
);
countRealTimeVO
.
setCycleCount
(
cycleCount
);
return
countRealTimeVO
;
}
private
MainlineSchemeAnalysisVO
.
GreenwaveData
findMatchingData
(
private
MainlineSchemeAnalysisVO
.
GreenwaveData
findMatchingData
(
List
<
MainlineSchemeAnalysisVO
.
GreenwaveData
>
greenwaveData
)
{
List
<
MainlineSchemeAnalysisVO
.
GreenwaveData
>
greenwaveData
)
{
...
...
signal-optimize-service/src/main/java/net/wanji/opt/vo/CountRealTimeVO.java
0 → 100644
View file @
77b1e0bc
package
net
.
wanji
.
opt
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
@NoArgsConstructor
@Data
@ApiModel
(
value
=
"CountRealTimeVO"
,
description
=
"数量实时推送"
)
public
class
CountRealTimeVO
{
@ApiModelProperty
(
value
=
"实时数据条数"
)
private
Integer
realTimeCount
;
@ApiModelProperty
(
value
=
"周期数据条数"
)
private
Integer
cycleCount
;
}
wj-databus/src/main/java/net/wanji/databus/dao/mapper/CrossLaneDataHistMapper.java
View file @
77b1e0bc
...
@@ -22,4 +22,6 @@ public interface CrossLaneDataHistMapper extends BaseMapper<CrossLaneDataHistPO>
...
@@ -22,4 +22,6 @@ public interface CrossLaneDataHistMapper extends BaseMapper<CrossLaneDataHistPO>
List
<
CrossLaneDataHistPOExt
>
selectByCrossIdAndDir
(
String
crossId
,
Integer
dir
,
int
endTimeStamp
,
int
startTimeStamp
);
List
<
CrossLaneDataHistPOExt
>
selectByCrossIdAndDir
(
String
crossId
,
Integer
dir
,
int
endTimeStamp
,
int
startTimeStamp
);
List
<
CrossLaneDataHistPOExt
>
selectByCrossId
(
String
crossId
,
int
endTimeStamp
,
int
startTimeStamp
);
List
<
CrossLaneDataHistPOExt
>
selectByCrossId
(
String
crossId
,
int
endTimeStamp
,
int
startTimeStamp
);
Integer
selectCountByCrossIdAndTimeSpan
(
String
crossId
,
int
startTimeStamp
,
int
endTimeStamp
);
}
}
wj-databus/src/main/resources/mapper/CrossLaneDataHistMapper.xml
View file @
77b1e0bc
...
@@ -84,4 +84,12 @@
...
@@ -84,4 +84,12 @@
AND batch_time
<![CDATA[ >= ]]>
#{startTimeStamp}
AND batch_time
<![CDATA[ >= ]]>
#{startTimeStamp}
AND batch_time
<![CDATA[ <= ]]>
#{endTimeStamp};
AND batch_time
<![CDATA[ <= ]]>
#{endTimeStamp};
</select>
</select>
<select
id=
"selectCountByCrossIdAndTimeSpan"
resultType=
"java.lang.Integer"
>
select count(*)
from t_lane_data_hist
where cross_id = #{crossId}
and batch_time
<![CDATA[ >= ]]>
#{startTimeStamp}
and batch_time
<![CDATA[ <= ]]>
#{endTimeStamp};
</select>
</mapper>
</mapper>
\ No newline at end of file
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