Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
W
wj-datacenter-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
jinan
wj-datacenter-platform
Commits
ba6a778c
Commit
ba6a778c
authored
Dec 05, 2024
by
duanruiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[update] 入库数据处理优化
parent
259b2fa7
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
74 additions
and
38 deletions
+74
-38
EventAbnormalEnum.java
...java/net/wanji/datacenter/constant/EventAbnormalEnum.java
+2
-0
GreenBeltDataConsumerHandler.java
.../wanji/datacenter/kafka/GreenBeltDataConsumerHandler.java
+12
-0
EventDataDTO.java
...main/java/net/wanji/datacenter/pojo/dto/EventDataDTO.java
+1
-0
ImbalanceAlgorithmDTO.java
.../net/wanji/datacenter/pojo/dto/ImbalanceAlgorithmDTO.java
+3
-0
EventInfoPO.java
...c/main/java/net/wanji/datacenter/pojo/po/EventInfoPO.java
+2
-0
EventDataServiceImpl.java
...va/net/wanji/datacenter/service/EventDataServiceImpl.java
+7
-0
CrossStrategyOptServiceImpl.java
.../datacenter/service/impl/CrossStrategyOptServiceImpl.java
+42
-36
EventInfoMapper.xml
...ter-service/src/main/resources/mapper/EventInfoMapper.xml
+5
-2
No files found.
wj-datacenter-service/src/main/java/net/wanji/datacenter/constant/EventAbnormalEnum.java
View file @
ba6a778c
...
...
@@ -108,6 +108,8 @@ public enum EventAbnormalEnum {
CROSS_UNBALANCE
(
"702"
,
"路口失衡"
,
1
,
1
),
CROSS_OVERFLOW
(
"703"
,
"路口溢出"
,
1
,
1
),
CROSS_DEADLOCK
(
"704"
,
"路口死锁"
,
1
,
1
),
GREEN_SLOW
(
"705"
,
"干线-缓行"
,
1
,
1
),
GREEN_CONGEST
(
"706"
,
"干线-拥堵"
,
1
,
1
),
/*危险驾驶*/
CONFLICT_POINT
(
"601"
,
"冲突点"
,
1
,
1
),
...
...
wj-datacenter-service/src/main/java/net/wanji/datacenter/kafka/GreenBeltDataConsumerHandler.java
View file @
ba6a778c
...
...
@@ -28,6 +28,12 @@ public class GreenBeltDataConsumerHandler implements KafkaListenerErrorHandler {
private
GreenBeltInfoService
greenBeltInfoService
;
/**
* 卫博发送绿波时序图数据
* @param record
* @param acknowledgment
* @throws Exception
*/
@KafkaListener
(
topics
=
{
"${kafka-consumer.greenBeltInfoDataTopic}"
},
groupId
=
"group "
)
public
void
receiveGreenBeltInfoData
(
ConsumerRecord
<
Object
,
Object
>
record
,
Acknowledgment
acknowledgment
)
throws
Exception
{
try
{
...
...
@@ -43,6 +49,12 @@ public class GreenBeltDataConsumerHandler implements KafkaListenerErrorHandler {
}
}
/**
* 绿波周期数据
* @param record
* @param acknowledgment
* @throws Exception
*/
@KafkaListener
(
topics
=
{
"${kafka-consumer.greenWavePeriodTopic}"
},
groupId
=
"group"
)
public
void
receiveGreenPeriodData
(
ConsumerRecord
<
Object
,
Object
>
record
,
Acknowledgment
acknowledgment
)
throws
Exception
{
String
originalData
=
String
.
valueOf
(
record
.
value
());
...
...
wj-datacenter-service/src/main/java/net/wanji/datacenter/pojo/dto/EventDataDTO.java
View file @
ba6a778c
...
...
@@ -24,4 +24,5 @@ public class EventDataDTO {
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
private
Date
eventEndTime
;
private
String
eventLevel
;
private
Integer
greenId
;
}
wj-datacenter-service/src/main/java/net/wanji/datacenter/pojo/dto/ImbalanceAlgorithmDTO.java
View file @
ba6a778c
...
...
@@ -58,7 +58,10 @@ public class ImbalanceAlgorithmDTO {
private
SchemeData
data
;
@Data
@JsonIgnoreProperties
(
ignoreUnknown
=
true
)
public
static
class
SchemeData
{
@JsonProperty
(
"platform_id"
)
private
String
platformId
;
@JsonProperty
(
"cycle"
)
private
int
cycle
;
@JsonProperty
(
"green_time"
)
...
...
wj-datacenter-service/src/main/java/net/wanji/datacenter/pojo/po/EventInfoPO.java
View file @
ba6a778c
...
...
@@ -91,4 +91,6 @@ public class EventInfoPO {
private
String
eventId
;
@ApiModelProperty
(
name
=
"分区字段"
,
notes
=
""
)
private
Integer
dt
;
@ApiModelProperty
(
name
=
"路口所属绿波编号"
,
notes
=
""
)
private
Integer
greenId
;
}
wj-datacenter-service/src/main/java/net/wanji/datacenter/service/EventDataServiceImpl.java
View file @
ba6a778c
...
...
@@ -43,11 +43,18 @@ public class EventDataServiceImpl implements EventDataService {
if
(
EventAbnormalEnum
.
CROSS_OVERFLOW
.
getDesc
().
contains
(
eventTypeName
))
{
eventInfoPO
.
setType
(
EventAbnormalEnum
.
CROSS_OVERFLOW
.
getType
());
}
if
(
EventAbnormalEnum
.
GREEN_SLOW
.
getDesc
().
contains
(
eventTypeName
))
{
eventInfoPO
.
setType
(
EventAbnormalEnum
.
GREEN_SLOW
.
getType
());
}
if
(
EventAbnormalEnum
.
GREEN_CONGEST
.
getDesc
().
contains
(
eventTypeName
))
{
eventInfoPO
.
setType
(
EventAbnormalEnum
.
GREEN_CONGEST
.
getType
());
}
Date
eventStartTime
=
eventDataDTO
.
getEventStartTime
();
eventInfoPO
.
setStartTime
(
eventStartTime
);
eventInfoPO
.
setEndTime
(
eventDataDTO
.
getEventEndTime
());
eventInfoPO
.
setEventSerialNumber
(
eventDataDTO
.
getEventId
());
eventInfoPO
.
setCrossId
(
eventDataDTO
.
getCrossId
());
eventInfoPO
.
setGreenId
(
eventDataDTO
.
getGreenId
());
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyyMMdd"
);
String
dateStr
=
format
.
format
(
eventStartTime
);
eventInfoPO
.
setDt
(
Integer
.
valueOf
(
dateStr
));
...
...
wj-datacenter-service/src/main/java/net/wanji/datacenter/service/impl/CrossStrategyOptServiceImpl.java
View file @
ba6a778c
...
...
@@ -37,22 +37,25 @@ public class CrossStrategyOptServiceImpl implements CrossStrategyOptService {
Long
curStamp
=
idx
.
getCurStamp
();
Integer
countDown
=
idx
.
getCountDown
();
Integer
rtnType
=
idx
.
getRtnType
();
Long
signalMachineStamp
=
idx
.
getSignalMachineStamp
();
Long
createStamp
=
idx
.
getCreateStamp
();
Date
date
=
new
Date
(
curStamp
);
CrossStrategyResultEntity
entity
=
new
CrossStrategyResultEntity
();
entity
.
setCrossId
(
crossId
);
entity
.
setSignalMachineStamp
(
String
.
valueOf
(
signalMachineStamp
));
// 绿灯空放
entity
.
setCurrentAlgo
(
1
);
entity
.
setRequestTime
(
date
);
entity
.
setIssueTime
(
date
);
entity
.
setInsertTime
(
new
Date
(
createStamp
));
entity
.
setCountDown
(
countDown
);
entity
.
setExtendTime
(
countDown
);
entity
.
setResponseCode
(
rtnType
);
entity
.
setRtnType
(
rtnType
);
crossStrategyResultMapper
.
insert
(
entity
);
// rtnType大于0时,未执行
if
(
rtnType
<
0
)
{
Long
signalMachineStamp
=
idx
.
getSignalMachineStamp
();
Long
createStamp
=
idx
.
getCreateStamp
();
Date
date
=
new
Date
(
curStamp
);
CrossStrategyResultEntity
entity
=
new
CrossStrategyResultEntity
();
entity
.
setCrossId
(
crossId
);
entity
.
setSignalMachineStamp
(
String
.
valueOf
(
signalMachineStamp
));
// 绿灯空放
entity
.
setCurrentAlgo
(
1
);
entity
.
setRequestTime
(
date
);
entity
.
setIssueTime
(
date
);
entity
.
setInsertTime
(
new
Date
(
createStamp
));
entity
.
setCountDown
(
countDown
);
entity
.
setExtendTime
(
countDown
);
entity
.
setResponseCode
(
rtnType
);
entity
.
setRtnType
(
rtnType
);
crossStrategyResultMapper
.
insert
(
entity
);
}
}
}
catch
(
JsonProcessingException
e
)
{
throw
new
Exception
(
e
);
...
...
@@ -64,26 +67,29 @@ public class CrossStrategyOptServiceImpl implements CrossStrategyOptService {
@Override
public
void
save
(
ImbalanceAlgorithmDTO
dto
)
{
try
{
ObjectMapper
mapper
=
JacksonUtils
.
getInstance
();
CrossStrategyResultEntity
crossStrategyResultEntity
=
new
CrossStrategyResultEntity
();
crossStrategyResultEntity
.
setCrossId
(
dto
.
getPlatformId
());
crossStrategyResultEntity
.
setCrossName
(
dto
.
getCrossName
());
crossStrategyResultEntity
.
setCurrentAlgo
(
dto
.
getCurrentAlgo
());
crossStrategyResultEntity
.
setRequestTime
(
dto
.
getRequestTime
());
crossStrategyResultEntity
.
setIssueTime
(
dto
.
getIssueTime
());
crossStrategyResultEntity
.
setResponseCode
(
dto
.
getResponseCode
());
crossStrategyResultEntity
.
setTimingPlan
(
mapper
.
writeValueAsString
(
dto
.
getTimingPlan
()));
crossStrategyResultEntity
.
setInsertTime
(
dto
.
getInsertTime
());
crossStrategyResultEntity
.
setRtnType
(
dto
.
getRtnType
());
crossStrategyResultEntity
.
setExtendTime
(
dto
.
getExtendTime
());
crossStrategyResultEntity
.
setBlockRegion
(
dto
.
getBlockRegion
());
crossStrategyResultEntity
.
setBlockType
(
dto
.
getBlockType
());
crossStrategyResultEntity
.
setCountDown
(
dto
.
getCountDown
());
crossStrategyResultEntity
.
setVideoStamp
(
dto
.
getVideoStamp
());
crossStrategyResultEntity
.
setSignalMachineStamp
(
dto
.
getSignalMachineStamp
());
crossStrategyResultEntity
.
setControlDir
(
dto
.
getControlDir
());
crossStrategyResultEntity
.
setData
(
mapper
.
writeValueAsString
(
dto
.
getData
()));
crossStrategyResultMapper
.
insert
(
crossStrategyResultEntity
);
// 未操作的不存
if
(!
Objects
.
equals
(
0
,
dto
.
getRtnType
()))
{
ObjectMapper
mapper
=
JacksonUtils
.
getInstance
();
CrossStrategyResultEntity
crossStrategyResultEntity
=
new
CrossStrategyResultEntity
();
crossStrategyResultEntity
.
setCrossId
(
dto
.
getPlatformId
());
crossStrategyResultEntity
.
setCrossName
(
dto
.
getCrossName
());
crossStrategyResultEntity
.
setCurrentAlgo
(
dto
.
getCurrentAlgo
());
crossStrategyResultEntity
.
setRequestTime
(
dto
.
getRequestTime
());
crossStrategyResultEntity
.
setIssueTime
(
dto
.
getIssueTime
());
crossStrategyResultEntity
.
setResponseCode
(
dto
.
getResponseCode
());
crossStrategyResultEntity
.
setTimingPlan
(
mapper
.
writeValueAsString
(
dto
.
getTimingPlan
()));
crossStrategyResultEntity
.
setInsertTime
(
dto
.
getInsertTime
());
crossStrategyResultEntity
.
setRtnType
(
dto
.
getRtnType
());
crossStrategyResultEntity
.
setExtendTime
(
dto
.
getExtendTime
());
crossStrategyResultEntity
.
setBlockRegion
(
dto
.
getBlockRegion
());
crossStrategyResultEntity
.
setBlockType
(
dto
.
getBlockType
());
crossStrategyResultEntity
.
setCountDown
(
dto
.
getCountDown
());
crossStrategyResultEntity
.
setVideoStamp
(
dto
.
getVideoStamp
());
crossStrategyResultEntity
.
setSignalMachineStamp
(
dto
.
getSignalMachineStamp
());
crossStrategyResultEntity
.
setControlDir
(
dto
.
getControlDir
());
crossStrategyResultEntity
.
setData
(
mapper
.
writeValueAsString
(
dto
.
getData
()));
crossStrategyResultMapper
.
insert
(
crossStrategyResultEntity
);
}
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
e
);
}
...
...
wj-datacenter-service/src/main/resources/mapper/EventInfoMapper.xml
View file @
ba6a778c
...
...
@@ -36,12 +36,13 @@
<result
column=
"extend"
property=
"extend"
/>
<result
column=
"video_urls"
property=
"videoUrls"
/>
<result
column=
"dt"
property=
"dt"
/>
<result
column=
"green_id"
property=
"greenId"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
oid,plate_no,object_type,confidence,detect_time,grade,place_desc,lng,lat,category,type,start_time,end_time,
duration,source,ruksj,lane_id,rid,segment_id,cross_id,camera_oid,event_serial_number,data_status,global_id,
station_id,event_id,dt
station_id,event_id,dt
,green_id
</sql>
<select
id=
"selectHistEvent"
resultType=
"net.wanji.datacenter.pojo.po.EventInfoPO"
>
...
...
@@ -74,7 +75,8 @@
, segment_id
, cross_id
, dt
, event_serial_number)
, event_serial_number
, green_id)
VALUES ( #{oid}
, #{plateNo}
, #{objectType}
...
...
@@ -97,6 +99,7 @@
, #{crossId}
, #{dt}
, #{eventSerialNumber}
, #{greenId}
)
ON DUPLICATE KEY UPDATE
end_time = values(end_time)
...
...
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