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
bd07fa24
Commit
bd07fa24
authored
Feb 20, 2024
by
duanruiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[update] 优化代码4,优化灯态定时任务程序可读性
parent
2f5ddba9
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
65 additions
and
33 deletions
+65
-33
SignalStatusTask.java
...ce/src/main/java/net/wanji/utc/task/SignalStatusTask.java
+65
-33
No files found.
signal-utc-service/src/main/java/net/wanji/utc/task/SignalStatusTask.java
View file @
bd07fa24
...
@@ -192,39 +192,7 @@ public class SignalStatusTask {
...
@@ -192,39 +192,7 @@ public class SignalStatusTask {
Map
<
Integer
,
String
>
turnColorMap
=
(
Map
<
Integer
,
String
>)
groupEntry
.
getValue
();
Map
<
Integer
,
String
>
turnColorMap
=
(
Map
<
Integer
,
String
>)
groupEntry
.
getValue
();
List
<
LightsStatusVO2
.
TurnInfo
>
turnList
=
new
ArrayList
<>();
List
<
LightsStatusVO2
.
TurnInfo
>
turnList
=
new
ArrayList
<>();
for
(
Map
.
Entry
<
Integer
,
String
>
turnEntry
:
turnColorMap
.
entrySet
())
{
for
(
Map
.
Entry
<
Integer
,
String
>
turnEntry
:
turnColorMap
.
entrySet
())
{
Integer
turn
=
null
;
setDirTurnInfo
(
phaseMap
,
dir
,
turnList
,
turnEntry
);
if
(
turnEntry
.
getKey
()
instanceof
Integer
)
{
turn
=
(
Integer
)
turnEntry
.
getKey
();
}
else
{
Object
object
=
turnEntry
.
getKey
();
turn
=
Integer
.
parseInt
(
String
.
valueOf
(
object
));
}
String
color
=
turnEntry
.
getValue
();
LightsStatusVO2
.
TurnInfo
turnInfo
=
new
LightsStatusVO2
.
TurnInfo
();
turnInfo
.
setTurn
(
String
.
valueOf
(
turn
));
if
(
Objects
.
equals
(
turn
,
20
)
&&
Objects
.
equals
(
color
,
"yellow"
))
{
//行人黄灯时。绿闪
turnInfo
.
setColor
(
"greenFlash"
);
}
else
{
turnInfo
.
setColor
(
color
);
}
String
key
=
dir
.
concat
(
Constants
.
SEPARATOR_UNDER_LINE
).
concat
(
String
.
valueOf
(
turn
));
if
(
phaseMap
.
get
(
key
)
instanceof
Map
)
{
Map
<
Integer
,
Integer
>
turnMap
=
(
Map
<
Integer
,
Integer
>)
phaseMap
.
get
(
key
);
if
(
Objects
.
nonNull
(
turnMap
)
&&
!
turnMap
.
isEmpty
())
{
Integer
countDown
=
turnMap
.
get
(
turn
);
turnInfo
.
setCountDown
(
countDown
);
}
}
else
{
Integer
countDown
=
null
;
if
(
phaseMap
.
get
(
dir
)
instanceof
Map
)
{
Map
<
Integer
,
Integer
>
turnMap
=
(
Map
<
Integer
,
Integer
>)
phaseMap
.
get
(
dir
);
countDown
=
turnMap
.
get
(
turn
);
}
else
{
countDown
=
(
Integer
)
phaseMap
.
get
(
key
);
}
turnInfo
.
setCountDown
(
countDown
);
}
turnList
.
add
(
turnInfo
);
}
}
dirInfo
.
setDir
(
dir
);
dirInfo
.
setDir
(
dir
);
dirInfo
.
setTurnList
(
turnList
);
dirInfo
.
setTurnList
(
turnList
);
...
@@ -240,6 +208,70 @@ public class SignalStatusTask {
...
@@ -240,6 +208,70 @@ public class SignalStatusTask {
return
listResult
;
return
listResult
;
}
}
/**
* 设置方向转向信息实体
* @param phaseMap
* @param dir
* @param turnList
* @param turnEntry
*/
private
static
void
setDirTurnInfo
(
Map
<
String
,
Object
>
phaseMap
,
String
dir
,
List
<
LightsStatusVO2
.
TurnInfo
>
turnList
,
Map
.
Entry
<
Integer
,
String
>
turnEntry
)
{
Integer
turn
=
parseTurn
(
turnEntry
);
String
color
=
turnEntry
.
getValue
();
LightsStatusVO2
.
TurnInfo
turnInfo
=
new
LightsStatusVO2
.
TurnInfo
();
turnInfo
.
setTurn
(
String
.
valueOf
(
turn
));
if
(
Objects
.
equals
(
turn
,
20
)
&&
Objects
.
equals
(
color
,
"yellow"
))
{
//行人黄灯时。绿闪
turnInfo
.
setColor
(
"greenFlash"
);
}
else
{
turnInfo
.
setColor
(
color
);
}
setTurnInfoCounDown
(
phaseMap
,
dir
,
turn
,
turnInfo
);
turnList
.
add
(
turnInfo
);
}
/**
* 转换转向参数
* @param turnEntry
* @return
*/
private
static
Integer
parseTurn
(
Map
.
Entry
<
Integer
,
String
>
turnEntry
)
{
Integer
turn
=
null
;
if
(
turnEntry
.
getKey
()
instanceof
Integer
)
{
turn
=
(
Integer
)
turnEntry
.
getKey
();
}
else
{
Object
object
=
turnEntry
.
getKey
();
turn
=
Integer
.
parseInt
(
String
.
valueOf
(
object
));
}
return
turn
;
}
/**
* 设置方向转向倒计时时间
* @param phaseMap
* @param dir
* @param turn
* @param turnInfo
*/
private
static
void
setTurnInfoCounDown
(
Map
<
String
,
Object
>
phaseMap
,
String
dir
,
Integer
turn
,
LightsStatusVO2
.
TurnInfo
turnInfo
)
{
String
key
=
dir
.
concat
(
Constants
.
SEPARATOR_UNDER_LINE
).
concat
(
String
.
valueOf
(
turn
));
if
(
phaseMap
.
get
(
key
)
instanceof
Map
)
{
Map
<
Integer
,
Integer
>
turnMap
=
(
Map
<
Integer
,
Integer
>)
phaseMap
.
get
(
key
);
if
(
Objects
.
nonNull
(
turnMap
)
&&
!
turnMap
.
isEmpty
())
{
Integer
countDown
=
turnMap
.
get
(
turn
);
turnInfo
.
setCountDown
(
countDown
);
}
}
else
{
Integer
countDown
=
null
;
if
(
phaseMap
.
get
(
dir
)
instanceof
Map
)
{
Map
<
Integer
,
Integer
>
turnMap
=
(
Map
<
Integer
,
Integer
>)
phaseMap
.
get
(
dir
);
countDown
=
turnMap
.
get
(
turn
);
}
else
{
countDown
=
(
Integer
)
phaseMap
.
get
(
key
);
}
turnInfo
.
setCountDown
(
countDown
);
}
}
/**
/**
* 灯态数据发送kafka
* 灯态数据发送kafka
*/
*/
...
...
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