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
20b905bb
Commit
20b905bb
authored
May 26, 2025
by
duwei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
信号灯倒计时
parent
d1aac497
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
18 additions
and
10 deletions
+18
-10
pom-demo.xml
signal-optimize-service/pom-demo.xml
+1
-0
SignalStatusTask.java
...ce/src/main/java/net/wanji/utc/task/SignalStatusTask.java
+17
-10
No files found.
signal-optimize-service/pom-demo.xml
View file @
20b905bb
...
@@ -214,6 +214,7 @@
...
@@ -214,6 +214,7 @@
</from>
</from>
<to>
<to>
<!-- <image>${harbor.ip.port}/xinkong/${artifactId}:${version}</image> -->
<!-- <image>${harbor.ip.port}/xinkong/${artifactId}:${version}</image> -->
<!-- https://10.102.1.163:19443/account/sign-in?redirect_url=%2Fharbor%2Fprojects -->
<image>
10.102.1.163:19443/yanshi/fuzhujuece-${project.artifactId}:${project.version}
</image>
<image>
10.102.1.163:19443/yanshi/fuzhujuece-${project.artifactId}:${project.version}
</image>
<auth>
<auth>
<username>
admin
</username>
<username>
admin
</username>
...
...
signal-utc-service/src/main/java/net/wanji/utc/task/SignalStatusTask.java
View file @
20b905bb
package
net
.
wanji
.
utc
.
task
;
package
net
.
wanji
.
utc
.
task
;
import
cn.hutool.core.collection.CollectionUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
...
@@ -87,6 +88,10 @@ public class SignalStatusTask {
...
@@ -87,6 +88,10 @@ public class SignalStatusTask {
private
ProducerHandler
producerHandler
;
private
ProducerHandler
producerHandler
;
@Resource
@Resource
RestHighLevelClient
client
;
RestHighLevelClient
client
;
public
static
Map
<
String
,
String
>
crossIdMap
=
new
HashMap
();
{
crossIdMap
.
put
(
"R-081507"
,
"12Q5V099C30"
);
}
private
static
final
Map
<
String
,
Integer
>
runModeTimeMap
=
new
ConcurrentHashMap
<>();
private
static
final
Map
<
String
,
Integer
>
runModeTimeMap
=
new
ConcurrentHashMap
<>();
@Qualifier
(
"net.wanji.feign.service.UtcHisenseFeignClients"
)
@Qualifier
(
"net.wanji.feign.service.UtcHisenseFeignClients"
)
...
@@ -123,8 +128,8 @@ public class SignalStatusTask {
...
@@ -123,8 +128,8 @@ public class SignalStatusTask {
/**
/**
* 消费孪生灯态kafka数据
* 消费孪生灯态kafka数据
*/
*/
@KafkaListener
(
topics
=
{
"WHSpatData"
},
groupId
=
"utc-whspat-consumer-0
1
"
)
@KafkaListener
(
topics
=
{
"WHSpatData"
},
groupId
=
"utc-whspat-consumer-0
3
"
)
public
void
consumeTwinSpat
(
ConsumerRecord
<
Object
,
Object
>
record
,
Acknowledgment
ack
nowledgment
)
{
public
void
consumeTwinSpat
(
ConsumerRecord
<
Object
,
Object
>
record
,
Acknowledgment
ack
)
{
try
{
try
{
String
lightStatusJson
=
String
.
valueOf
(
record
.
value
());
String
lightStatusJson
=
String
.
valueOf
(
record
.
value
());
WHSpatData
light
=
JSONObject
.
parseObject
(
lightStatusJson
,
WHSpatData
.
class
);
WHSpatData
light
=
JSONObject
.
parseObject
(
lightStatusJson
,
WHSpatData
.
class
);
...
@@ -152,14 +157,16 @@ public class SignalStatusTask {
...
@@ -152,14 +157,16 @@ public class SignalStatusTask {
List
<
LightsStatusVO
>
lightsStatusVOS
=
getLightsStatusVOS2
(
crossInfoPO
,
light
);
List
<
LightsStatusVO
>
lightsStatusVOS
=
getLightsStatusVOS2
(
crossInfoPO
,
light
);
//2.3 保存灯态数据并发送
//2.3 保存灯态数据并发送
if
(
CollectionUtil
.
isNotEmpty
(
lightsStatusVOS
))
{
saveAndSendLightsStatus
(
mapper
,
crossId
,
lightsStatusVOS
,
entry
);
saveAndSendLightsStatus
(
mapper
,
crossId
,
lightsStatusVOS
,
entry
);
}
}
}
sendKafka
();
sendKafka
();
}
}
//--------------------------------------------------------------------------
//--------------------------------------------------------------------------
}
}
ack
.
acknowledge
();
// 手动提交 offset
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"解析灯态数据异常"
,
e
);
log
.
error
(
"解析灯态数据异常"
,
e
);
}
}
...
@@ -215,7 +222,7 @@ public class SignalStatusTask {
...
@@ -215,7 +222,7 @@ public class SignalStatusTask {
if
(!
CollectionUtils
.
isEmpty
(
lightsStatusVOS
))
{
if
(!
CollectionUtils
.
isEmpty
(
lightsStatusVOS
))
{
//2. 循环遍历灯态数据,并保存灯态数据到数据库,并发送灯态数据到websocket
//2. 循环遍历灯态数据,并保存灯态数据到数据库,并发送灯态数据到websocket
for
(
LightsStatusVO
lightsStatusVO
:
lightsStatusVOS
)
{
for
(
LightsStatusVO
lightsStatusVO
:
lightsStatusVOS
)
{
if
(
Objects
.
nonNull
(
lightsStatusVO
)
&&
Objects
.
equals
(
lightsStatusVO
.
getCrossId
(),
crossId
))
{
if
(
Objects
.
nonNull
(
lightsStatusVO
)
&&
Objects
.
equals
(
lightsStatusVO
.
getCrossId
(),
crossId
)
)
{
//
//
calculateControlCountDown
(
crossId
,
lightsStatusVO
);
calculateControlCountDown
(
crossId
,
lightsStatusVO
);
try
{
try
{
...
@@ -276,10 +283,7 @@ public class SignalStatusTask {
...
@@ -276,10 +283,7 @@ public class SignalStatusTask {
return
Collections
.
emptyList
();
return
Collections
.
emptyList
();
}
}
public
static
Map
<
String
,
String
>
crossIdMap
=
new
HashMap
();
{
crossIdMap
.
put
(
"R-081507"
,
"12Q5V099C30"
);
}
/**
/**
* 获取路口灯态列表
* 获取路口灯态列表
* @param crossInfoPO 路口信息
* @param crossInfoPO 路口信息
...
@@ -320,6 +324,7 @@ public class SignalStatusTask {
...
@@ -320,6 +324,7 @@ public class SignalStatusTask {
}
}
}
else
{
}
else
{
phaseCountdownCacheMap
.
put
(
cycleLenKey
,
p
.
getLimitEndTime
());
phaseCountdownCacheMap
.
put
(
cycleLenKey
,
p
.
getLimitEndTime
());
infoVo
.
setCycleLen
(
p
.
getLimitEndTime
());
}
}
infoVo
.
setPhaseId
(
p
.
getPhaseId
()
+
""
);
infoVo
.
setPhaseId
(
p
.
getPhaseId
()
+
""
);
infoVo
.
setCyclePhaseCountDown
(
p
.
getLimitEndTime
());
infoVo
.
setCyclePhaseCountDown
(
p
.
getLimitEndTime
());
...
@@ -419,6 +424,9 @@ public class SignalStatusTask {
...
@@ -419,6 +424,9 @@ public class SignalStatusTask {
Map
<
String
,
Object
>
dirLampGroupMap
=
lightsStatusVO
.
getDirLampGroupMap
();
Map
<
String
,
Object
>
dirLampGroupMap
=
lightsStatusVO
.
getDirLampGroupMap
();
List
<
LightsStatusVO2
.
DirInfo
>
dirList
=
new
ArrayList
<>();
List
<
LightsStatusVO2
.
DirInfo
>
dirList
=
new
ArrayList
<>();
Map
<
String
,
Object
>
phaseMap
=
lightsStatusVO
.
getPhaseMap
();
Map
<
String
,
Object
>
phaseMap
=
lightsStatusVO
.
getPhaseMap
();
if
(
dirLampGroupMap
==
null
||
dirLampGroupMap
.
entrySet
()
==
null
||
dirLampGroupMap
.
entrySet
().
size
()
==
0
){
continue
;
}
for
(
Map
.
Entry
<
String
,
Object
>
groupEntry
:
dirLampGroupMap
.
entrySet
())
{
for
(
Map
.
Entry
<
String
,
Object
>
groupEntry
:
dirLampGroupMap
.
entrySet
())
{
LightsStatusVO2
.
DirInfo
dirInfo
=
new
LightsStatusVO2
.
DirInfo
();
LightsStatusVO2
.
DirInfo
dirInfo
=
new
LightsStatusVO2
.
DirInfo
();
String
dir
=
groupEntry
.
getKey
();
String
dir
=
groupEntry
.
getKey
();
...
@@ -436,7 +444,6 @@ public class SignalStatusTask {
...
@@ -436,7 +444,6 @@ public class SignalStatusTask {
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"灯态推送转换V2异常:"
,
e
);
log
.
error
(
"灯态推送转换V2异常:"
,
e
);
throw
new
Exception
(
e
);
}
}
return
listResult
;
return
listResult
;
}
}
...
...
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