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
f84ec3be
Commit
f84ec3be
authored
Nov 28, 2023
by
duanruiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[update] 数字孪生平台添加灯态返回接口
parent
771c0a9a
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
107 additions
and
0 deletions
+107
-0
SignalStatusController.java
...java/net/wanji/utc/controller/SignalStatusController.java
+47
-0
LightsStatusVO2.java
...s/src/main/java/net/wanji/databus/vo/LightsStatusVO2.java
+60
-0
No files found.
signal-utc-service/src/main/java/net/wanji/utc/controller/SignalStatusController.java
View file @
f84ec3be
...
...
@@ -15,13 +15,17 @@ import net.wanji.common.enums.BaseEnum;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.databus.po.SignalStatusLogPO
;
import
net.wanji.databus.vo.LightsStatusVO
;
import
net.wanji.databus.vo.LightsStatusVO2
;
import
net.wanji.utc.service.runninginfo.SignalStatusService
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.ws.rs.core.MediaType
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
/**
* 运行状态、告警、灯态信息接口
...
...
@@ -62,6 +66,49 @@ public class SignalStatusController {
return
JsonViewObject
.
newInstance
().
success
(
lightsStatusVOList
);
}
@AspectLog
(
description
=
"灯态数据V2"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@PostMapping
(
value
=
"/lightStatusV2"
,
produces
=
MediaType
.
APPLICATION_JSON
)
@ApiOperation
(
value
=
"灯态数据V2"
,
notes
=
"灯态数据V2"
,
response
=
LightsStatusVO
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
LightsStatusVO
.
class
)
})
public
JsonViewObject
lightStatusV2
()
throws
Exception
{
List
<
LightsStatusVO
>
lightsStatusVOList
=
signalStatusService
.
lightStatus
();
List
<
LightsStatusVO2
>
listResult
=
new
ArrayList
<>(
lightsStatusVOList
.
size
());
for
(
LightsStatusVO
lightsStatusVO
:
lightsStatusVOList
)
{
LightsStatusVO2
lightsStatusVO2
=
new
LightsStatusVO2
();
BeanUtils
.
copyProperties
(
lightsStatusVO
,
lightsStatusVO2
);
Map
<
String
,
Object
>
dirLampGroupMap
=
lightsStatusVO
.
getDirLampGroupMap
();
List
<
LightsStatusVO2
.
DirInfo
>
dirList
=
new
ArrayList
<>();
Map
<
String
,
Object
>
phaseMap
=
lightsStatusVO
.
getPhaseMap
();
for
(
Map
.
Entry
<
String
,
Object
>
groupEntry
:
dirLampGroupMap
.
entrySet
())
{
LightsStatusVO2
.
DirInfo
dirInfo
=
new
LightsStatusVO2
.
DirInfo
();
String
dir
=
groupEntry
.
getKey
();
Map
<
String
,
Integer
>
turnDountMap
=
(
Map
<
String
,
Integer
>)
phaseMap
.
get
(
dir
);
Map
<
String
,
String
>
turnColorMap
=
(
Map
<
String
,
String
>)
groupEntry
.
getValue
();
List
<
LightsStatusVO2
.
TurnInfo
>
turnList
=
new
ArrayList
<>();
for
(
Map
.
Entry
<
String
,
String
>
turnEntry
:
turnColorMap
.
entrySet
())
{
String
turn
=
turnEntry
.
getKey
();
String
color
=
turnEntry
.
getValue
();
LightsStatusVO2
.
TurnInfo
turnInfo
=
new
LightsStatusVO2
.
TurnInfo
();
turnInfo
.
setTurn
(
turn
);
turnInfo
.
setColor
(
color
);
Integer
countDown
=
turnDountMap
.
get
(
turn
);
turnInfo
.
setCountDown
(
countDown
);
turnList
.
add
(
turnInfo
);
}
dirInfo
.
setDir
(
dir
);
dirInfo
.
setTurnList
(
turnList
);
dirList
.
add
(
dirInfo
);
}
lightsStatusVO2
.
setDirLampGroupMapList
(
dirList
);
listResult
.
add
(
lightsStatusVO2
);
}
return
JsonViewObject
.
newInstance
().
success
(
listResult
);
}
@AspectLog
(
description
=
"灯态数据历史数据"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@PostMapping
(
value
=
"/lightStatusHist"
,
produces
=
MediaType
.
APPLICATION_JSON
)
@ApiOperation
(
value
=
"灯态数据历史数据"
,
notes
=
"灯态数据历史数据"
,
response
=
LightsStatusVO
.
class
,
...
...
wj-databus/src/main/java/net/wanji/databus/vo/LightsStatusVO2.java
0 → 100644
View file @
f84ec3be
package
net
.
wanji
.
databus
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.util.List
;
/**
* @author duanruiming
* @date 2023/11/27 9:37
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
public
class
LightsStatusVO2
extends
BaseCrossInfo
{
@ApiModelProperty
(
value
=
"运行模式 `2=手动锁定当前相位`,`3=手动全红`,`4=手动黄闪`,`5=手动关灯`,"
+
"`6=全红闪控制`,`7=全黄控制`,`8=正常按计划运行`,`9=手动步进控制`,`10=自动步进控制`,`11=恢复时间表`,`255=临时控制方案`"
)
private
String
runMode
;
@ApiModelProperty
(
value
=
"控制模式"
)
private
String
controlMode
;
@ApiModelProperty
(
value
=
"方案开始时间"
,
notes
=
"目前没有用到"
)
private
String
schemeStartTime
;
@ApiModelProperty
(
value
=
"相位周期剩余时长"
)
private
Integer
cycleCountDown
;
@ApiModelProperty
(
value
=
"相位周期剩余时长"
)
private
Integer
cyclePhaseCountDown
;
@ApiModelProperty
(
value
=
"相位周期时长"
)
private
Integer
cycleLen
;
@ApiModelProperty
(
value
=
"当前相位号"
)
private
String
phaseId
;
@ApiModelProperty
(
value
=
"当前方案号"
)
private
String
schemeId
;
@ApiModelProperty
(
value
=
"灯组状态"
)
private
List
<
DirInfo
>
dirLampGroupMapList
;
@ApiModelProperty
(
value
=
"数据上报时间戳"
)
private
String
timeStamp
;
@Data
@ApiModel
(
value
=
"DirInfo"
,
description
=
"灯组方向转向信息"
)
public
static
class
DirInfo
{
@ApiModelProperty
(
value
=
"方向"
)
private
String
dir
;
@ApiModelProperty
(
value
=
"转向信息"
)
List
<
TurnInfo
>
turnList
;
}
@Data
@ApiModel
(
value
=
"TurnInfo"
,
description
=
"灯组转向灯态红灯倒计时"
)
public
static
class
TurnInfo
{
@ApiModelProperty
(
value
=
"转向"
)
private
String
turn
;
@ApiModelProperty
(
value
=
"灯色"
)
private
String
color
;
@ApiModelProperty
(
value
=
"红灯倒计时"
)
private
Integer
countDown
;
}
}
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