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
36d19e31
Commit
36d19e31
authored
Feb 06, 2023
by
duanruiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[test] 动态检测测试数据
parent
04a213d9
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
54 additions
and
8 deletions
+54
-8
SignalCommandController.java
...ava/net/wanji/web/controller/SignalCommandController.java
+10
-4
SignalStatusTask.java
...ce/src/main/java/net/wanji/utc/task/SignalStatusTask.java
+40
-1
RealTimeDataWebSocket.java
...n/java/net/wanji/utc/websocket/RealTimeDataWebSocket.java
+4
-3
No files found.
signal-control-service/src/main/java/net/wanji/web/controller/SignalCommandController.java
View file @
36d19e31
...
...
@@ -73,6 +73,9 @@ public class SignalCommandController {
@PostMapping
(
"/lampStateControl"
)
public
JsonViewObject
allRedControl
(
@RequestBody
@Validated
ControlCommandVO
commandVO
)
{
Integer
controlType
=
commandVO
.
getControlType
();
if
(
true
)
{
return
JsonViewObject
.
newInstance
().
success
();
}
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
if
(
1
==
controlType
)
{
jsonViewObject
=
utcFeignClients
.
allRedControl
(
commandVO
);
...
...
@@ -86,7 +89,7 @@ public class SignalCommandController {
if
(
Objects
.
isNull
(
jsonViewObject
)
||
jsonViewObject
.
getCode
()
!=
200
)
{
return
jsonViewObject
.
fail
(
"灯态控制UTC服务调用异常"
);
}
controlHistMapper
.
insertOne
(
commandVO
.
getCrossCode
(),
controlType
+
1
);
controlHistMapper
.
insertOne
(
commandVO
.
getCrossCode
(),
controlType
+
1
,
"admin"
);
return
jsonViewObject
;
}
...
...
@@ -94,11 +97,14 @@ public class SignalCommandController {
@ApiOperation
(
value
=
"步进控制-步进控制/恢复"
,
notes
=
"步进控制-步进控制/恢复"
)
@PostMapping
(
"/stepControl"
)
public
JsonViewObject
stepControl
(
@RequestBody
@Validated
StepControlVO
stepControlVO
)
{
if
(
true
)
{
return
JsonViewObject
.
newInstance
().
success
();
}
JsonViewObject
jsonViewObject
=
utcFeignClients
.
stepControl
(
stepControlVO
.
getCode
(),
stepControlVO
.
getCommand
(),
stepControlVO
.
getStepNum
());
if
(
Objects
.
isNull
(
jsonViewObject
)
||
jsonViewObject
.
getCode
()
!=
200
)
{
return
jsonViewObject
.
fail
(
"步进控制-步进控制/恢复UTC服务调用异常"
);
}
controlHistMapper
.
insertOne
(
stepControlVO
.
getCode
(),
7
);
controlHistMapper
.
insertOne
(
stepControlVO
.
getCode
(),
7
,
"admin"
);
return
jsonViewObject
;
}
...
...
@@ -110,7 +116,7 @@ public class SignalCommandController {
if
(
Objects
.
isNull
(
jsonViewObject
)
||
jsonViewObject
.
getCode
()
!=
200
)
{
return
jsonViewObject
.
fail
(
"恢复时间表-恢复路口时间表执行UTC服务调用异常"
);
}
controlHistMapper
.
insertOne
(
code
,
1
);
controlHistMapper
.
insertOne
(
code
,
1
,
"admin"
);
return
jsonViewObject
;
}
...
...
@@ -121,7 +127,7 @@ public class SignalCommandController {
if
(
Objects
.
isNull
(
jsonViewObject
)
||
jsonViewObject
.
getCode
()
!=
200
)
{
return
jsonViewObject
.
fail
(
"锁定控制-相位锁定/解锁UTC服务调用异常"
);
}
controlHistMapper
.
insertOne
(
lockControlVO
.
getCrossCode
(),
4
);
controlHistMapper
.
insertOne
(
lockControlVO
.
getCrossCode
(),
4
,
"admin"
);
return
jsonViewObject
;
}
...
...
signal-utc-service/src/main/java/net/wanji/utc/task/SignalStatusTask.java
View file @
36d19e31
package
net
.
wanji
.
utc
.
task
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.serializer.SerializerFeature
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.utc.entity.SignalRunring
;
import
net.wanji.utc.po.SignalStatusLogPO
;
import
net.wanji.utc.service.runninginfo.SignalStatusService
;
import
net.wanji.utc.vo.LightsStatusVO
;
import
net.wanji.utc.websocket.RealTimeDataWebSocket
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.ConcurrentHashMap
;
/**
* 订阅信号运行状态、告警、灯态
...
...
@@ -16,6 +24,8 @@ import java.util.List;
* @date 2022/11/21 9:01
*/
@Component
@Slf4j
@SuppressWarnings
(
"all"
)
public
class
SignalStatusTask
{
@Autowired
SignalStatusService
signalStatusService
;
...
...
@@ -29,6 +39,35 @@ public class SignalStatusTask {
// 灯态,5秒一次
@Scheduled
(
fixedRate
=
5
*
1000
)
public
void
lightStatus
()
{
List
<
LightsStatusVO
>
lightsStatusVOS
=
signalStatusService
.
lightStatus
();
try
{
ConcurrentHashMap
<
String
,
RealTimeDataWebSocket
>
evenWarnWebSocketMap
=
RealTimeDataWebSocket
.
getEvenWarnWebSocketMap
();
if
(!
evenWarnWebSocketMap
.
isEmpty
())
{
for
(
Map
.
Entry
<
String
,
RealTimeDataWebSocket
>
entry
:
evenWarnWebSocketMap
.
entrySet
())
{
String
crossId
=
entry
.
getKey
();
RealTimeDataWebSocket
webSocket
=
entry
.
getValue
();
List
<
LightsStatusVO
>
lightsStatusVOS
=
new
ArrayList
<>();
// signalStatusService.lightStatus();
LightsStatusVO
lightsStatusVO
=
new
LightsStatusVO
();
lightsStatusVO
.
setRunMode
(
"4"
);
lightsStatusVO
.
setControlMode
(
"22"
);
// 闪光
List
<
SignalRunring
>
runrings
=
new
ArrayList
<>();
SignalRunring
signalRunring
=
new
SignalRunring
();
signalRunring
.
setLampStatus
(
22
);
runrings
.
add
(
signalRunring
);
lightsStatusVO
.
setRunrings
(
runrings
);
lightsStatusVOS
.
add
(
lightsStatusVO
);
webSocket
.
sendInfo
(
JSONObject
.
toJSONString
(
lightsStatusVOS
,
SerializerFeature
.
WriteMapNullValue
),
crossId
);
}
}
}
catch
(
Exception
e
)
{
log
.
error
(
"实时推送灯态数据失败"
,
e
);
}
}
}
signal-utc-service/src/main/java/net/wanji/utc/websocket/RealTimeDataWebSocket.java
View file @
36d19e31
...
...
@@ -17,7 +17,7 @@ import java.util.concurrent.ConcurrentHashMap;
* @author duanruiming
* @date 2023/01/06 8:58
*/
@ServerEndpoint
(
"/
websocket/realTimeData
/{crossId}"
)
@ServerEndpoint
(
"/
signalStatus
/{crossId}"
)
@Component
@Slf4j
public
class
RealTimeDataWebSocket
{
...
...
@@ -80,6 +80,7 @@ public class RealTimeDataWebSocket {
/**
* 收到客户端消息后调用的方法
*
* @param message 客户端发送过来的消息
*/
@OnMessage
...
...
@@ -128,11 +129,11 @@ public class RealTimeDataWebSocket {
/**
* 发送自定义消息
*/
public
static
void
sendInfo
(
String
message
,
@PathParam
(
"crossId"
)
String
crossId
)
throws
IOException
{
public
void
sendInfo
(
String
message
,
@PathParam
(
"crossId"
)
String
crossId
)
throws
IOException
{
//log.info("发送消息到:" + crossId + ",报文:" + message);
if
(
StringUtils
.
isNotBlank
(
crossId
)
&&
evenWarnWebSocketMap
.
containsKey
(
crossId
))
{
try
{
evenWarnWebSocketMap
.
get
(
crossId
)
.
sendMessage
(
message
);
this
.
sendMessage
(
message
);
}
catch
(
Exception
e
)
{
log
.
error
(
"用户"
+
crossId
+
",不在线!{}"
,
e
.
getMessage
());
}
...
...
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