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
04a213d9
Commit
04a213d9
authored
Feb 04, 2023
by
duanruiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[add] 新增信号机本地手动控制同步逻辑
parent
b43a0bb6
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
80 additions
and
22 deletions
+80
-22
SignalStatusLogDTO.java
...e/src/main/java/net/wanji/web/dto/SignalStatusLogDTO.java
+35
-0
TCrossControlHist.java
...src/main/java/net/wanji/web/entity/TCrossControlHist.java
+3
-0
ControlHistMapper.java
...src/main/java/net/wanji/web/mapper/ControlHistMapper.java
+4
-1
GreenwaveRealtimeMapper.java
...in/java/net/wanji/web/mapper/GreenwaveRealtimeMapper.java
+0
-2
SignalStatusTask.java
...ce/src/main/java/net/wanji/web/task/SignalStatusTask.java
+21
-15
CommonEventAlarmOutVo.java
...anji/web/vo/situationDetection/CommonEventAlarmOutVo.java
+1
-1
ControlHistMapper.xml
...l-service/src/main/resources/mapper/ControlHistMapper.xml
+16
-3
No files found.
signal-control-service/src/main/java/net/wanji/web/dto/SignalStatusLogDTO.java
0 → 100644
View file @
04a213d9
package
net
.
wanji
.
web
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
/**
* @author Kent HAN
* @date 2022/11/21 11:18
*/
@Data
public
class
SignalStatusLogDTO
{
/** 日志ID */
@ApiModelProperty
(
value
=
"日志ID"
,
notes
=
""
)
private
Integer
id
;
/** 路口ID */
@ApiModelProperty
(
value
=
"路口ID"
,
notes
=
""
)
private
String
crossId
;
/** 信号机ID */
@ApiModelProperty
(
value
=
"信号机ID"
,
notes
=
""
)
private
String
signalId
;
/** 信号状态:0离线;1在线 */
@ApiModelProperty
(
value
=
"信号状态:0离线;1在线"
,
notes
=
""
)
private
Integer
status
;
/** 故障类型:0正常;1检测器故障;2时钟故障;3电源故障;4驱动模块故障;5信号灯故障;6箱门开启;7方案错误;8绿冲突;9红全熄;10行人红熄; */
@ApiModelProperty
(
value
=
"故障类型:0正常;1检测器故障;2时钟故障;3电源故障;4驱动模块故障;5信号灯故障;6箱门开启;7方案错误;8绿冲突;9红全熄;10行人红熄;"
,
notes
=
""
)
private
Integer
faultType
;
/** 控制类型:1时间表;2全红;3黄闪;4锁定;5中心优化;6MEC优化;7现场手动 */
@ApiModelProperty
(
value
=
"控制类型:1时间表;2全红;3黄闪;4锁定;5中心优化;6MEC优化;7现场手动"
,
notes
=
""
)
private
Integer
controlType
;
/** 创建时间 */
@ApiModelProperty
(
value
=
"创建时间"
,
notes
=
""
)
private
Date
gmtCreate
;
}
signal-control-service/src/main/java/net/wanji/web/entity/TCrossControlHist.java
View file @
04a213d9
...
@@ -45,4 +45,7 @@ public class TCrossControlHist {
...
@@ -45,4 +45,7 @@ public class TCrossControlHist {
*/
*/
@ApiModelProperty
(
name
=
"修改时间"
,
notes
=
""
)
@ApiModelProperty
(
name
=
"修改时间"
,
notes
=
""
)
private
Date
gmtModified
;
private
Date
gmtModified
;
@ApiModelProperty
(
name
=
"操作人"
,
notes
=
""
)
private
String
operationUser
;
}
}
signal-control-service/src/main/java/net/wanji/web/mapper/ControlHistMapper.java
View file @
04a213d9
package
net
.
wanji
.
web
.
mapper
;
package
net
.
wanji
.
web
.
mapper
;
import
net.wanji.web.entity.TCrossControlHist
;
import
net.wanji.web.po.ControlHistPO
;
import
net.wanji.web.po.ControlHistPO
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
...
@@ -16,5 +17,7 @@ import java.util.List;
...
@@ -16,5 +17,7 @@ import java.util.List;
public
interface
ControlHistMapper
{
public
interface
ControlHistMapper
{
List
<
ControlHistPO
>
selectByCrossId
(
@Param
(
"crossId"
)
String
crossId
,
@Param
(
"todayDate"
)
Date
todayDate
);
List
<
ControlHistPO
>
selectByCrossId
(
@Param
(
"crossId"
)
String
crossId
,
@Param
(
"todayDate"
)
Date
todayDate
);
int
insertOne
(
@Param
(
"crossId"
)
String
crossId
,
@Param
(
"type"
)
Integer
type
);
int
insertOne
(
@Param
(
"crossId"
)
String
crossId
,
@Param
(
"type"
)
Integer
type
,
@Param
(
"operationUser"
)
String
operationUser
);
TCrossControlHist
selectRecentOne
(
@Param
(
"crossId"
)
String
crossId
);
}
}
signal-control-service/src/main/java/net/wanji/web/mapper/GreenwaveRealtimeMapper.java
View file @
04a213d9
package
net
.
wanji
.
web
.
mapper
;
package
net
.
wanji
.
web
.
mapper
;
import
com.baomidou.dynamic.datasource.annotation.DS
;
import
net.wanji.web.po.GreenwaveRealtimePO
;
import
net.wanji.web.po.GreenwaveRealtimePO
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
org.springframework.stereotype.Repository
;
import
org.springframework.stereotype.Repository
;
...
@@ -13,7 +12,6 @@ import java.util.List;
...
@@ -13,7 +12,6 @@ import java.util.List;
* @date 2022/10/27 14:25
* @date 2022/10/27 14:25
*/
*/
@Repository
@Repository
@DS
(
"webService"
)
public
interface
GreenwaveRealtimeMapper
{
public
interface
GreenwaveRealtimeMapper
{
List
<
GreenwaveRealtimePO
>
selectByAdCodeAndCurrentTime
(
@Param
(
"adCode"
)
String
adCode
,
List
<
GreenwaveRealtimePO
>
selectByAdCodeAndCurrentTime
(
@Param
(
"adCode"
)
String
adCode
,
...
...
signal-control-service/src/main/java/net/wanji/web/task/SignalStatusTask.java
View file @
04a213d9
package
net
.
wanji
.
web
.
task
;
package
net
.
wanji
.
web
.
task
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.feign.pojo.result.JsonViewObject
;
import
net.wanji.feign.pojo.result.JsonViewObject
;
import
net.wanji.feign.service.UtcFeignClients
;
import
net.wanji.feign.service.UtcFeignClients
;
import
net.wanji.web.dto.SignalStatusLogDTO
;
import
net.wanji.web.entity.TCrossControlHist
;
import
net.wanji.web.entity.TDeviceStatusInfo
;
import
net.wanji.web.entity.TDeviceStatusInfo
;
import
net.wanji.web.mapper.ControlHistMapper
;
import
net.wanji.web.mapper.TDeviceStatusMapper
;
import
net.wanji.web.mapper.TDeviceStatusMapper
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.Objects
;
/**
/**
...
@@ -20,14 +22,12 @@ import java.util.Objects;
...
@@ -20,14 +22,12 @@ import java.util.Objects;
* @date 2023/01/03 10:43
* @date 2023/01/03 10:43
*/
*/
@Component
@Component
@RequiredArgsConstructor
@Slf4j
@Slf4j
public
class
SignalStatusTask
{
public
class
SignalStatusTask
{
private
final
UtcFeignClients
utcFeignClients
;
@Autowired
private
final
TDeviceStatusMapper
tDeviceStatusMapper
;
private
UtcFeignClients
utcFeignClients
;
private
final
ControlHistMapper
controlHistMapper
;
@Autowired
private
TDeviceStatusMapper
tDeviceStatusMapper
;
@Scheduled
(
fixedRate
=
1
*
60
*
1000
)
@Scheduled
(
fixedRate
=
1
*
60
*
1000
)
public
void
syncSignalStatus
()
{
public
void
syncSignalStatus
()
{
...
@@ -37,14 +37,13 @@ public class SignalStatusTask {
...
@@ -37,14 +37,13 @@ public class SignalStatusTask {
log
.
error
(
"定时任务同步信号机设备状态utcService调用异常"
);
log
.
error
(
"定时任务同步信号机设备状态utcService调用异常"
);
return
;
return
;
}
}
List
<
Map
<
String
,
Object
>>
content
=
(
List
<
Map
<
String
,
Object
>>)
jsonViewObject
.
getContent
();
List
<
SignalStatusLogDTO
>
content
=
(
List
<
SignalStatusLogDTO
>)
jsonViewObject
.
getContent
();
content
.
forEach
(
map
->
{
content
.
forEach
(
signalStatusLogDTO
->
{
Map
<
String
,
Object
>
result
=
map
;
String
signalId
=
signalStatusLogDTO
.
getSignalId
();
String
signalId
=
(
String
)
result
.
get
(
"signalId"
);
Integer
currentSignalStatus
=
signalStatusLogDTO
.
getStatus
()
==
null
?
0
:
signalStatusLogDTO
.
getStatus
();
Integer
currentSignalStatus
=
result
.
get
(
"status"
)
==
null
?
0
:
(
Integer
)
result
.
get
(
"status"
);
Integer
currentFaultType
=
signalStatusLogDTO
.
getFaultType
()
==
null
?
0
:
signalStatusLogDTO
.
getFaultType
();
Integer
currentFaultType
=
result
.
get
(
"faultType"
)
==
null
?
0
:
(
Integer
)
result
.
get
(
"faultType"
);
//
当前服务
数据库状态
//
更新
数据库状态
LambdaQueryWrapper
<
TDeviceStatusInfo
>
lambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
LambdaQueryWrapper
<
TDeviceStatusInfo
>
lambdaQueryWrapper
=
new
LambdaQueryWrapper
<>();
if
(
StringUtils
.
isNotEmpty
(
signalId
))
{
if
(
StringUtils
.
isNotEmpty
(
signalId
))
{
lambdaQueryWrapper
.
eq
(
TDeviceStatusInfo:
:
getCode
,
signalId
);
lambdaQueryWrapper
.
eq
(
TDeviceStatusInfo:
:
getCode
,
signalId
);
...
@@ -55,6 +54,13 @@ public class SignalStatusTask {
...
@@ -55,6 +54,13 @@ public class SignalStatusTask {
tDeviceStatusMapper
.
updateById
(
tDeviceStatusInfo
);
tDeviceStatusMapper
.
updateById
(
tDeviceStatusInfo
);
}
}
}
}
// 更新控制历史表
String
crossId
=
signalStatusLogDTO
.
getCrossId
();
Integer
controlType
=
signalStatusLogDTO
.
getControlType
();
TCrossControlHist
tCrossControlHist
=
controlHistMapper
.
selectRecentOne
(
crossId
);
if
(
Objects
.
nonNull
(
tCrossControlHist
)
&&
!
Objects
.
equals
(
controlType
,
tCrossControlHist
.
getType
()))
{
controlHistMapper
.
insertOne
(
crossId
,
controlType
,
"未知"
);
}
});
});
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"定时任务同步信号机设备状态远程utcService调用异常"
,
e
);
log
.
error
(
"定时任务同步信号机设备状态远程utcService调用异常"
,
e
);
...
...
signal-control-service/src/main/java/net/wanji/web/vo/situationDetection/CommonEventAlarmOutVo.java
View file @
04a213d9
...
@@ -12,7 +12,7 @@ import lombok.Data;
...
@@ -12,7 +12,7 @@ import lombok.Data;
@ApiModel
(
value
=
"CommonEventAlarmOutVo"
,
description
=
"统一事件告警检测返回结果"
)
@ApiModel
(
value
=
"CommonEventAlarmOutVo"
,
description
=
"统一事件告警检测返回结果"
)
public
class
CommonEventAlarmOutVo
{
public
class
CommonEventAlarmOutVo
{
@ApiModelProperty
(
value
=
"事件
编号
:1:路口报警、2:事件报警、3:信号机故障"
)
@ApiModelProperty
(
value
=
"事件
类型
:1:路口报警、2:事件报警、3:信号机故障"
)
Integer
eventType
;
Integer
eventType
;
@ApiModelProperty
(
value
=
"事件id"
)
@ApiModelProperty
(
value
=
"事件id"
)
...
...
signal-control-service/src/main/resources/mapper/ControlHistMapper.xml
View file @
04a213d9
...
@@ -16,10 +16,11 @@
...
@@ -16,10 +16,11 @@
<result
property=
"startTime"
column=
"start_time"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"startTime"
column=
"start_time"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"gmtCreate"
column=
"gmt_create"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"gmtCreate"
column=
"gmt_create"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"gmtModified"
column=
"gmt_modified"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"gmtModified"
column=
"gmt_modified"
jdbcType=
"TIMESTAMP"
/>
<result
property=
"operationUser"
column=
"operation_user"
jdbcType=
"VARCHAR"
/>
</resultMap>
</resultMap>
<sql
id=
"Base_Column_List"
>
<sql
id=
"Base_Column_List"
>
id, cross
Id, type, startTime, gmt_create, gmt_modified
id, cross
_id, type, start_time, gmt_create, gmt_modified, operation_user
</sql>
</sql>
<select
id=
"selectByCrossId"
resultMap=
"BaseResultMap"
>
<select
id=
"selectByCrossId"
resultMap=
"BaseResultMap"
>
...
@@ -33,7 +34,19 @@
...
@@ -33,7 +34,19 @@
</select>
</select>
<insert
id=
"insertOne"
>
<insert
id=
"insertOne"
>
insert into t_cross_control_hist (cross_id, type, start_time, gmt_create, gmt_modified)
insert into t_cross_control_hist (cross_id, type, start_time, gmt_create, gmt_modified
, operation_user
)
values (#{crossId}, #{type}, now(), now(), now())
values (#{crossId}, #{type}, now(), now(), now()
, #{operationUser}
)
</insert>
</insert>
<select
id=
"selectRecentOne"
resultType=
"net.wanji.web.entity.TCrossControlHist"
>
select
<include
refid=
"Base_Column_List"
/>
from t_cross_control_hist
<where>
<if
test=
"crossId != null and crossId !=''"
>
cross_id = #{crossId}
</if>
and start_time = (select max(start_time) from t_cross_control_hist)
</where>
</select>
</mapper>
</mapper>
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