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
07b428c9
Commit
07b428c9
authored
Oct 19, 2023
by
duanruiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[add] 添加灯态历史表接口
parent
3ce3cbf3
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
61 additions
and
1 deletion
+61
-1
SignalStatusController.java
...java/net/wanji/utc/controller/SignalStatusController.java
+11
-0
SignalStatusService.java
...et/wanji/utc/service/runninginfo/SignalStatusService.java
+3
-0
SignalStatusServiceImpl.java
...utc/service/runninginfo/impl/SignalStatusServiceImpl.java
+23
-0
SignalStatusTask.java
...ce/src/main/java/net/wanji/utc/task/SignalStatusTask.java
+24
-1
No files found.
signal-utc-service/src/main/java/net/wanji/utc/controller/SignalStatusController.java
View file @
07b428c9
...
...
@@ -60,6 +60,17 @@ public class SignalStatusController {
public
JsonViewObject
lightStatus
()
throws
Exception
{
List
<
LightsStatusVO
>
lightsStatusVOList
=
signalStatusService
.
lightStatus
();
return
JsonViewObject
.
newInstance
().
success
(
lightsStatusVOList
);
}
@AspectLog
(
description
=
"灯态数据历史数据"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@PostMapping
(
value
=
"/lightStatusHist"
,
produces
=
MediaType
.
APPLICATION_JSON
)
@ApiOperation
(
value
=
"灯态数据历史数据"
,
notes
=
"灯态数据历史数据"
,
response
=
LightsStatusVO
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
LightsStatusVO
.
class
)
})
public
JsonViewObject
lightStatusHist
(
String
crossId
,
Integer
batchTime
)
throws
Exception
{
List
<
LightsStatusVO
>
lightsStatusVOList
=
signalStatusService
.
lightStatusHist
(
crossId
,
batchTime
);
return
JsonViewObject
.
newInstance
().
success
(
lightsStatusVOList
);
}
}
signal-utc-service/src/main/java/net/wanji/utc/service/runninginfo/SignalStatusService.java
View file @
07b428c9
...
...
@@ -23,4 +23,7 @@ public interface SignalStatusService {
List
<
LightsStatusVO
>
lightStatus
()
throws
Exception
;
List
<
LightsStatusVO
>
lightStatus
(
String
crossId
)
throws
Exception
;
List
<
LightsStatusVO
>
lightStatusHist
(
String
crossId
,
Integer
batchTime
)
throws
Exception
;
}
signal-utc-service/src/main/java/net/wanji/utc/service/runninginfo/impl/SignalStatusServiceImpl.java
View file @
07b428c9
package
net
.
wanji
.
utc
.
service
.
runninginfo
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
lombok.RequiredArgsConstructor
;
import
net.wanji.common.utils.tool.JacksonUtils
;
import
net.wanji.databus.dao.entity.CrossLightsStatusHistPO
;
import
net.wanji.databus.dao.mapper.CrossInfoMapper
;
import
net.wanji.databus.dao.mapper.CrossLightsStatusHistMapper
;
import
net.wanji.databus.dao.mapper.ManufacturerInfoMapper
;
import
net.wanji.databus.dao.mapper.SignalStatusLogMapper
;
import
net.wanji.databus.po.CrossInfoPO
;
...
...
@@ -21,6 +26,7 @@ import net.wanji.utc.util.ListUtil;
import
net.wanji.utc.util.RedisUtil
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
...
...
@@ -41,6 +47,7 @@ public class SignalStatusServiceImpl implements SignalStatusService {
private
final
RedisUtil
redisUtil
;
private
final
SignalStatusLogMapper
signalStatusLogMapper
;
private
final
WanJiCommonRunningStatusService
wanJiRunningStatusService
;
private
final
CrossLightsStatusHistMapper
crossLightsStatusHistMapper
;
@Override
@Transactional
...
...
@@ -165,4 +172,20 @@ public class SignalStatusServiceImpl implements SignalStatusService {
}
return
baseCrossInfoList
;
}
@Override
public
List
<
LightsStatusVO
>
lightStatusHist
(
String
crossId
,
Integer
batchTime
)
throws
Exception
{
CrossLightsStatusHistPO
entity
=
new
CrossLightsStatusHistPO
();
entity
.
setCrossId
(
crossId
);
entity
.
setBatchTime
(
batchTime
);
List
<
CrossLightsStatusHistPO
>
crossLightsStatusHistPOS
=
crossLightsStatusHistMapper
.
selectList
(
entity
);
if
(!
CollectionUtils
.
isEmpty
(
crossLightsStatusHistPOS
))
{
for
(
CrossLightsStatusHistPO
crossLightsStatusHistPO
:
crossLightsStatusHistPOS
)
{
String
lightsStatusJson
=
crossLightsStatusHistPO
.
getLightsStatusJson
();
ObjectMapper
instance
=
JacksonUtils
.
getInstance
();
return
instance
.
readValue
(
lightsStatusJson
,
new
TypeReference
<
List
<
LightsStatusVO
>>()
{});
}
}
return
null
;
}
}
signal-utc-service/src/main/java/net/wanji/utc/task/SignalStatusTask.java
View file @
07b428c9
...
...
@@ -5,7 +5,9 @@ import com.fasterxml.jackson.databind.ObjectMapper;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.common.utils.tool.JacksonUtils
;
import
net.wanji.databus.dao.entity.CrossLightsStatusHistPO
;
import
net.wanji.databus.dao.mapper.CrossInfoMapper
;
import
net.wanji.databus.dao.mapper.CrossLightsStatusHistMapper
;
import
net.wanji.databus.dao.mapper.ManufacturerInfoMapper
;
import
net.wanji.databus.po.CrossInfoPO
;
import
net.wanji.databus.po.ManufacturerInfoPO
;
...
...
@@ -27,6 +29,8 @@ import org.springframework.stereotype.Component;
import
org.springframework.util.CollectionUtils
;
import
javax.annotation.Resource
;
import
java.time.LocalDateTime
;
import
java.time.ZoneOffset
;
import
java.util.*
;
import
java.util.concurrent.ConcurrentHashMap
;
...
...
@@ -53,6 +57,8 @@ public class SignalStatusTask {
private
CrossInfoMapper
crossInfoMapper
;
@Resource
private
UtcDTFeignClients
utcDTFeignClients
;
@Resource
private
CrossLightsStatusHistMapper
crossLightsStatusHistMapper
;
private
static
Map
<
String
,
List
<
LightsStatusVO
>>
lightStatusCache
=
new
HashMap
<>();
private
static
final
Map
<
String
,
Integer
>
runModeTimeMap
=
new
ConcurrentHashMap
<>();
...
...
@@ -113,7 +119,9 @@ public class SignalStatusTask {
}
Constants
.
controlModeMap
.
put
(
crossId
,
lightsStatusVO
.
getRunMode
());
try
{
webSocket
.
sendInfo
(
mapper
.
writeValueAsString
(
lightsStatusVOS
),
crossIdStr
);
String
json
=
mapper
.
writeValueAsString
(
lightsStatusVOS
);
webSocket
.
sendInfo
(
json
,
crossIdStr
);
insertIntoHist
(
crossId
,
json
);
}
catch
(
Exception
e
)
{
log
.
error
(
"RealTimeDataWebSocket发送异常,异常信息:"
,
e
);
}
...
...
@@ -127,4 +135,19 @@ public class SignalStatusTask {
log
.
error
(
"实时推送灯态数据失败"
,
e
);
}
}
private
void
insertIntoHist
(
String
crossId
,
String
json
)
throws
Exception
{
try
{
CrossLightsStatusHistPO
crossLightsStatusHistPO
=
new
CrossLightsStatusHistPO
();
crossLightsStatusHistPO
.
setCrossId
(
crossId
);
LocalDateTime
now
=
LocalDateTime
.
now
();
Integer
batchTime
=
(
int
)
now
.
toEpochSecond
(
ZoneOffset
.
of
(
"+8"
));
crossLightsStatusHistPO
.
setBatchTime
(
batchTime
);
crossLightsStatusHistPO
.
setLightsStatusJson
(
json
);
crossLightsStatusHistMapper
.
insertOne
(
crossLightsStatusHistPO
);
}
catch
(
Exception
e
)
{
log
.
error
(
"插入路口灯态历史表异常"
,
e
);
throw
new
Exception
(
e
);
}
}
}
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