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
0bee2a04
Commit
0bee2a04
authored
Apr 25, 2024
by
zhoushiguang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
local commit
parent
2c61242d
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
169 additions
and
26 deletions
+169
-26
WeekDirFreeFlowSpeedCache.java
...net/wanji/datacenter/cache/WeekDirFreeFlowSpeedCache.java
+1
-1
KafkaProducerConfig.java
...java/net/wanji/datacenter/config/KafkaProducerConfig.java
+74
-0
ProducerHandler.java
...main/java/net/wanji/datacenter/kafka/ProducerHandler.java
+24
-8
CrossLaneSnapshotDataDTO.java
...t/wanji/datacenter/pojo/dto/CrossLaneSnapshotDataDTO.java
+4
-0
LanePeriodicDataDTO.java
...va/net/wanji/datacenter/pojo/dto/LanePeriodicDataDTO.java
+11
-0
LaneSnapshotDataDTO.java
...va/net/wanji/datacenter/pojo/dto/LaneSnapshotDataDTO.java
+5
-0
CrossSnapshotDataProcessService.java
...acenter/service/impl/CrossSnapshotDataProcessService.java
+1
-1
LanePeriodicDataProcessServiceImpl.java
...nter/service/impl/LanePeriodicDataProcessServiceImpl.java
+31
-9
LaneSnapshotDataProcessService.java
...tacenter/service/impl/LaneSnapshotDataProcessService.java
+1
-0
application-local.yaml
...acenter-service/src/main/resources/application-local.yaml
+17
-7
No files found.
wj-datacenter-service/src/main/java/net/wanji/datacenter/cache/WeekDirFreeFlowSpeedCache.java
View file @
0bee2a04
...
@@ -72,7 +72,7 @@ public class WeekDirFreeFlowSpeedCache implements CommandLineRunner {
...
@@ -72,7 +72,7 @@ public class WeekDirFreeFlowSpeedCache implements CommandLineRunner {
}
}
Map
<
String
,
List
<
CrossDirFreeFlowSpeedDTO
>>
map
=
new
HashMap
<>(
1
);
Map
<
String
,
List
<
CrossDirFreeFlowSpeedDTO
>>
map
=
new
HashMap
<>(
1
);
map
.
put
(
Constants
.
CROSS_FREE_FLOW_SPEED_KEY
,
crossDirFreeFlowSpeedDTOS
);
map
.
put
(
Constants
.
CROSS_FREE_FLOW_SPEED_KEY
,
crossDirFreeFlowSpeedDTOS
);
producerHandler
.
send
(
Constants
.
CROSS_FREE_FLOW_SPEED_TOPIC
,
map
);
producerHandler
.
send
2FirstKafka
(
Constants
.
CROSS_FREE_FLOW_SPEED_TOPIC
,
map
);
}
}
@Override
@Override
...
...
wj-datacenter-service/src/main/java/net/wanji/datacenter/config/KafkaProducerConfig.java
0 → 100644
View file @
0bee2a04
package
net
.
wanji
.
datacenter
.
config
;
import
org.apache.kafka.clients.producer.ProducerConfig
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.kafka.core.DefaultKafkaProducerFactory
;
import
org.springframework.kafka.core.KafkaTemplate
;
import
org.springframework.kafka.core.ProducerFactory
;
import
java.util.HashMap
;
import
java.util.Map
;
/**
* @author duanruiming
* @date 2024/04/24 9:06
*/
@Configuration
public
class
KafkaProducerConfig
{
@Value
(
"${spring.kafka.producer.producer1.bootstrap-servers}"
)
private
String
bootstrapServers1
;
@Value
(
"${spring.kafka.producer.producer2.bootstrap-servers}"
)
private
String
bootstrapServers2
;
@Value
(
"${spring.kafka.producer.producer1.key-deserializer}"
)
private
String
keySerializer1
;
@Value
(
"${spring.kafka.producer.producer1.value-deserializer}"
)
private
String
valueSerializer1
;
@Value
(
"${spring.kafka.producer.producer2.key-deserializer}"
)
private
String
keySerializer2
;
@Value
(
"${spring.kafka.producer.producer2.value-deserializer}"
)
private
String
valueSerializer2
;
@Bean
public
Map
<
String
,
Object
>
producerConfigs1
()
{
Map
<
String
,
Object
>
props
=
new
HashMap
<>();
props
.
put
(
ProducerConfig
.
BOOTSTRAP_SERVERS_CONFIG
,
bootstrapServers1
);
props
.
put
(
ProducerConfig
.
KEY_SERIALIZER_CLASS_CONFIG
,
keySerializer1
);
props
.
put
(
ProducerConfig
.
VALUE_SERIALIZER_CLASS_CONFIG
,
valueSerializer1
);
// 可以添加更多配置
return
props
;
}
@Bean
public
Map
<
String
,
Object
>
producerConfigs2
()
{
Map
<
String
,
Object
>
props
=
new
HashMap
<>();
props
.
put
(
ProducerConfig
.
BOOTSTRAP_SERVERS_CONFIG
,
bootstrapServers2
);
props
.
put
(
ProducerConfig
.
KEY_SERIALIZER_CLASS_CONFIG
,
keySerializer2
);
props
.
put
(
ProducerConfig
.
VALUE_SERIALIZER_CLASS_CONFIG
,
valueSerializer2
);
// 可以添加更多配置
return
props
;
}
@Bean
public
ProducerFactory
<
String
,
String
>
producerFactory1
()
{
return
new
DefaultKafkaProducerFactory
<>(
producerConfigs1
());
}
@Bean
public
ProducerFactory
<
String
,
String
>
producerFactory2
()
{
return
new
DefaultKafkaProducerFactory
<>(
producerConfigs2
());
}
@Bean
public
KafkaTemplate
<
String
,
String
>
kafkaTemplate1
()
{
return
new
KafkaTemplate
<>(
producerFactory1
());
}
@Bean
public
KafkaTemplate
<
String
,
String
>
kafkaTemplate2
()
{
return
new
KafkaTemplate
<>(
producerFactory2
());
}
}
\ No newline at end of file
wj-datacenter-service/src/main/java/net/wanji/datacenter/kafka/ProducerHandler.java
View file @
0bee2a04
...
@@ -4,13 +4,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
...
@@ -4,13 +4,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.common.utils.tool.JacksonUtils
;
import
net.wanji.common.utils.tool.JacksonUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.kafka.core.KafkaTemplate
;
import
org.springframework.kafka.core.KafkaTemplate
;
import
org.springframework.kafka.support.SendResult
;
import
org.springframework.kafka.support.SendResult
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.concurrent.ListenableFuture
;
import
org.springframework.util.concurrent.ListenableFuture
;
import
javax.annotation.Resource
;
/**
/**
* @author duanruiming
* @author duanruiming
* @date 2023/08/02 16:58
* @date 2023/08/02 16:58
...
@@ -19,18 +18,35 @@ import javax.annotation.Resource;
...
@@ -19,18 +18,35 @@ import javax.annotation.Resource;
@Slf4j
@Slf4j
@SuppressWarnings
(
"all"
)
@SuppressWarnings
(
"all"
)
public
class
ProducerHandler
{
public
class
ProducerHandler
{
@Resource
@Autowired
private
KafkaTemplate
<
String
,
String
>
kafkaTemplate
;
private
KafkaTemplate
<
String
,
String
>
kafkaTemplate1
;
@Autowired
private
KafkaTemplate
<
String
,
String
>
kafkaTemplate2
;
public
void
send2FirstKafka
(
String
topic
,
Object
msg
)
{
Page
<
Object
>
objectPage
=
new
Page
<>();
try
{
ListenableFuture
<
SendResult
<
String
,
String
>>
future
=
this
.
kafkaTemplate1
.
send
(
topic
,
JacksonUtils
.
getInstance
().
writeValueAsString
(
msg
));
future
.
addCallback
(
success
->
{
},
failure
->
log
.
error
(
"消息发送失败:"
,
failure
));
}
catch
(
JsonProcessingException
e
)
{
log
.
error
(
"{}主题发送kafka1消息失败:"
,
e
);
return
;
}
}
public
void
send
(
String
topic
,
Object
msg
)
{
public
void
send
2SecondKafka
(
String
topic
,
Object
msg
)
{
Page
<
Object
>
objectPage
=
new
Page
<>();
Page
<
Object
>
objectPage
=
new
Page
<>();
try
{
try
{
ListenableFuture
<
SendResult
<
String
,
String
>>
future
=
this
.
kafkaTemplate
.
send
(
topic
,
JacksonUtils
.
getInstance
().
writeValueAsString
(
msg
));
ListenableFuture
<
SendResult
<
String
,
String
>>
future
=
this
.
kafkaTemplate
2
.
send
(
topic
,
JacksonUtils
.
getInstance
().
writeValueAsString
(
msg
));
future
.
addCallback
(
future
.
addCallback
(
success
->
{},
success
->
{
},
failure
->
log
.
error
(
"消息发送失败:"
,
failure
));
failure
->
log
.
error
(
"消息发送失败:"
,
failure
));
}
catch
(
JsonProcessingException
e
)
{
}
catch
(
JsonProcessingException
e
)
{
log
.
error
(
"{}主题发送消息失败:"
,
e
);
log
.
error
(
"{}主题发送
kafka2
消息失败:"
,
e
);
return
;
return
;
}
}
}
}
...
...
wj-datacenter-service/src/main/java/net/wanji/datacenter/pojo/dto/CrossLaneSnapshotDataDTO.java
View file @
0bee2a04
...
@@ -88,5 +88,9 @@ public class CrossLaneSnapshotDataDTO {
...
@@ -88,5 +88,9 @@ public class CrossLaneSnapshotDataDTO {
* 末车速度(km/h)
* 末车速度(km/h)
*/
*/
private
double
endV
;
private
double
endV
;
/**
* 溢出区车辆数
*/
private
int
overflowNums
;
}
}
wj-datacenter-service/src/main/java/net/wanji/datacenter/pojo/dto/LanePeriodicDataDTO.java
View file @
0bee2a04
...
@@ -2,6 +2,7 @@ package net.wanji.datacenter.pojo.dto;
...
@@ -2,6 +2,7 @@ package net.wanji.datacenter.pojo.dto;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -179,5 +180,15 @@ public class LanePeriodicDataDTO {
...
@@ -179,5 +180,15 @@ public class LanePeriodicDataDTO {
*/
*/
@JsonProperty
(
"overflow_rate"
)
@JsonProperty
(
"overflow_rate"
)
private
double
overflowRate
;
private
double
overflowRate
;
/**
* 非机动车流量
*/
@JsonProperty
(
"non_motor_flow"
)
private
int
nonMotorFlow
;
/**
* 85位速度(km/h)
*/
@JsonProperty
(
"v_85"
)
private
double
v85
;
}
}
}
}
wj-datacenter-service/src/main/java/net/wanji/datacenter/pojo/dto/LaneSnapshotDataDTO.java
View file @
0bee2a04
...
@@ -118,5 +118,10 @@ public class LaneSnapshotDataDTO {
...
@@ -118,5 +118,10 @@ public class LaneSnapshotDataDTO {
*/
*/
@JsonProperty
(
"overflow"
)
@JsonProperty
(
"overflow"
)
private
boolean
overflow
;
private
boolean
overflow
;
/**
* 溢出区车辆数
*/
@JsonProperty
(
"overflow_nums"
)
private
int
overflowNums
;
}
}
}
}
wj-datacenter-service/src/main/java/net/wanji/datacenter/service/impl/CrossSnapshotDataProcessService.java
View file @
0bee2a04
...
@@ -21,7 +21,7 @@ public class CrossSnapshotDataProcessService implements DataProcessService {
...
@@ -21,7 +21,7 @@ public class CrossSnapshotDataProcessService implements DataProcessService {
@Override
@Override
public
void
send
(
String
topic
,
Object
convertData
)
{
public
void
send
(
String
topic
,
Object
convertData
)
{
producerHandler
.
send
(
topic
,
convertData
);
producerHandler
.
send
2FirstKafka
(
topic
,
convertData
);
}
}
@Override
@Override
...
...
wj-datacenter-service/src/main/java/net/wanji/datacenter/service/impl/LanePeriodicDataProcessServiceImpl.java
View file @
0bee2a04
...
@@ -60,6 +60,21 @@ public class LanePeriodicDataProcessServiceImpl implements DataProcessService {
...
@@ -60,6 +60,21 @@ public class LanePeriodicDataProcessServiceImpl implements DataProcessService {
// 五分钟周期内是否有全场红
// 五分钟周期内是否有全场红
public
static
final
ConcurrentHashMap
<
String
,
Integer
>
periodHaveAllRedMap
=
new
ConcurrentHashMap
<>();
public
static
final
ConcurrentHashMap
<
String
,
Integer
>
periodHaveAllRedMap
=
new
ConcurrentHashMap
<>();
private
static
final
Map
<
String
,
String
>
pedestrianMap
=
new
HashMap
<
String
,
String
>();
static
{
pedestrianMap
.
put
(
"11"
,
"13NF80B5QN0"
);
pedestrianMap
.
put
(
"12"
,
"13NF80B5QN0"
);
pedestrianMap
.
put
(
"13"
,
"13NF80B5QN0"
);
pedestrianMap
.
put
(
"14"
,
"13NF80B5QN0"
);
pedestrianMap
.
put
(
"21"
,
"13NGH0B5RC0"
);
pedestrianMap
.
put
(
"22"
,
"13NGH0B5RC0"
);
pedestrianMap
.
put
(
"23"
,
"13NGH0B5RC0"
);
pedestrianMap
.
put
(
"24"
,
"13NGH0B5RC0"
);
pedestrianMap
.
put
(
"31"
,
"13NI00B5RM0"
);
pedestrianMap
.
put
(
"32"
,
"13NI00B5RM0"
);
}
@Autowired
@Autowired
RedisUtils
redisUtils
;
RedisUtils
redisUtils
;
...
@@ -81,7 +96,8 @@ public class LanePeriodicDataProcessServiceImpl implements DataProcessService {
...
@@ -81,7 +96,8 @@ public class LanePeriodicDataProcessServiceImpl implements DataProcessService {
@Override
@Override
public
void
send
(
String
topic
,
Object
convertData
)
{
public
void
send
(
String
topic
,
Object
convertData
)
{
producerHandler
.
send
(
topic
,
convertData
);
producerHandler
.
send2FirstKafka
(
topic
,
convertData
);
producerHandler
.
send2SecondKafka
(
topic
,
convertData
);
}
}
@Override
@Override
...
@@ -128,6 +144,12 @@ public class LanePeriodicDataProcessServiceImpl implements DataProcessService {
...
@@ -128,6 +144,12 @@ public class LanePeriodicDataProcessServiceImpl implements DataProcessService {
for
(
LanePeriodicDataDTO
.
EventList
laneRealTimeItem
:
eventLists
)
{
for
(
LanePeriodicDataDTO
.
EventList
laneRealTimeItem
:
eventLists
)
{
String
laneId
=
laneRealTimeItem
.
getLaneId
();
String
laneId
=
laneRealTimeItem
.
getLaneId
();
if
(
laneId
.
length
()
==
2
)
{
CrossBaseLaneInfoPO
laneInfoPO
=
new
CrossBaseLaneInfoPO
();
laneInfoPO
.
setCrossId
(
pedestrianMap
.
get
(
laneId
));
laneInfoPO
.
setId
(
String
.
join
(
Constant
.
SEPARATOR_MINUS
,
pedestrianMap
.
get
(
laneId
),
laneId
));
crossLaneDataRealTimePOS
.
add
(
lanePeriodicDataEventListConvert
.
convert2CrossLaneDataRealTimePO
(
laneRealTimeItem
,
laneInfoPO
,
startDate
));
}
for
(
CrossBaseLaneInfoPO
laneInfoPO
:
crossBaseLaneInfoPOS
)
{
for
(
CrossBaseLaneInfoPO
laneInfoPO
:
crossBaseLaneInfoPOS
)
{
String
id
=
laneInfoPO
.
getId
();
String
id
=
laneInfoPO
.
getId
();
if
(
StringUtils
.
equals
(
laneId
,
id
))
{
if
(
StringUtils
.
equals
(
laneId
,
id
))
{
...
@@ -144,12 +166,14 @@ public class LanePeriodicDataProcessServiceImpl implements DataProcessService {
...
@@ -144,12 +166,14 @@ public class LanePeriodicDataProcessServiceImpl implements DataProcessService {
}
}
Map
<
String
,
List
<
CrossLaneDataRealTimePO
>>
laneDataMap
=
new
HashMap
<>();
Map
<
String
,
List
<
CrossLaneDataRealTimePO
>>
laneDataMap
=
new
HashMap
<>();
laneDataMap
.
put
(
Constant
.
REAL_TIME_LANE_DATA_KEY
,
crossLaneDataRealTimePOS
);
laneDataMap
.
put
(
Constant
.
REAL_TIME_LANE_DATA_KEY
,
crossLaneDataRealTimePOS
);
producerHandler
.
send
(
Constant
.
REAL_TIME_LANE_DATA_TOPIC
,
laneDataMap
);
producerHandler
.
send2FirstKafka
(
Constant
.
REAL_TIME_LANE_DATA_TOPIC
,
laneDataMap
);
producerHandler
.
send2SecondKafka
(
Constant
.
REAL_TIME_LANE_DATA_TOPIC
,
laneDataMap
);
List
<
CrossDirDataRealtimePO
>
insertCrossDirDataRealtimePOS
=
dealCrossDataDirRealTime
(
crossDirDataRealtimePOS
,
decimalFormat
,
producerHandler
,
startDate
);
List
<
CrossDirDataRealtimePO
>
insertCrossDirDataRealtimePOS
=
dealCrossDataDirRealTime
(
crossDirDataRealtimePOS
,
decimalFormat
,
producerHandler
,
startDate
);
Map
<
String
,
List
<
CrossDirDataRealtimePO
>>
dirDataMap
=
new
HashMap
<>();
Map
<
String
,
List
<
CrossDirDataRealtimePO
>>
dirDataMap
=
new
HashMap
<>();
dirDataMap
.
put
(
Constant
.
REAL_TIME_DIR_DATA_KEY
,
insertCrossDirDataRealtimePOS
);
dirDataMap
.
put
(
Constant
.
REAL_TIME_DIR_DATA_KEY
,
insertCrossDirDataRealtimePOS
);
producerHandler
.
send
(
Constant
.
REAL_TIME_DIR_DATA_TOPIC
,
dirDataMap
);
producerHandler
.
send2FirstKafka
(
Constant
.
REAL_TIME_DIR_DATA_TOPIC
,
dirDataMap
);
producerHandler
.
send2SecondKafka
(
Constant
.
REAL_TIME_DIR_DATA_TOPIC
,
dirDataMap
);
dealCrossDataRealTime
(
crossDataRealtimePOS
,
decimalFormat
,
producerHandler
,
startDate
);
dealCrossDataRealTime
(
crossDataRealtimePOS
,
decimalFormat
,
producerHandler
,
startDate
);
dealCrossDataTurnRealTime
(
crossTurnDataRealtimePOS
,
decimalFormat
,
producerHandler
,
startDate
);
dealCrossDataTurnRealTime
(
crossTurnDataRealtimePOS
,
decimalFormat
,
producerHandler
,
startDate
);
...
@@ -283,7 +307,8 @@ public class LanePeriodicDataProcessServiceImpl implements DataProcessService {
...
@@ -283,7 +307,8 @@ public class LanePeriodicDataProcessServiceImpl implements DataProcessService {
}
}
HashMap
<
String
,
List
<
CrossTurnDataRealtimePO
>>
turnDataMap
=
new
HashMap
<>();
HashMap
<
String
,
List
<
CrossTurnDataRealtimePO
>>
turnDataMap
=
new
HashMap
<>();
turnDataMap
.
put
(
Constant
.
REAL_TIME_TURN_DATA_KEY
,
insertCrossTurnDataRealtimePOS
);
turnDataMap
.
put
(
Constant
.
REAL_TIME_TURN_DATA_KEY
,
insertCrossTurnDataRealtimePOS
);
producerHandler
.
send
(
Constant
.
REAL_TIME_TURN_DATA_TOPIC
,
turnDataMap
);
producerHandler
.
send2FirstKafka
(
Constant
.
REAL_TIME_TURN_DATA_TOPIC
,
turnDataMap
);
producerHandler
.
send2SecondKafka
(
Constant
.
REAL_TIME_TURN_DATA_TOPIC
,
turnDataMap
);
}
}
private
List
<
CrossDirDataRealtimePO
>
dealCrossDataDirRealTime
(
List
<
CrossDirDataRealtimePO
>
crossDirDataRealtimePOS
,
private
List
<
CrossDirDataRealtimePO
>
dealCrossDataDirRealTime
(
List
<
CrossDirDataRealtimePO
>
crossDirDataRealtimePOS
,
...
@@ -437,15 +462,11 @@ public class LanePeriodicDataProcessServiceImpl implements DataProcessService {
...
@@ -437,15 +462,11 @@ public class LanePeriodicDataProcessServiceImpl implements DataProcessService {
spilloverIndex
=
spilloverIndex
>=
dirSpilloverIndex
?
spilloverIndex
:
dirSpilloverIndex
;
spilloverIndex
=
spilloverIndex
>=
dirSpilloverIndex
?
spilloverIndex
:
dirSpilloverIndex
;
Double
trafficIndexDir
=
dirDelayTimeIndex
*
0.4
+
dirCongextionIndex
*
0.4
+
spilloverIndex
*
0.2
;
Double
trafficIndexDir
=
dirDelayTimeIndex
*
0.4
+
dirCongextionIndex
*
0.4
+
spilloverIndex
*
0.2
;
log
.
error
(
"trafficIndexDir信息:"
+
trafficIndexDir
+
":"
+
dirDelayTimeIndex
+
":"
+
dirCongextionIndex
+
":"
+
spilloverIndex
);
if
(
trafficIndexDir
>
1.0
)
{
if
(
trafficIndexDir
>
1.0
)
{
crossDirDataRealTimePO
.
setTrafficIndex
(
Double
.
valueOf
(
decimalFormat
.
format
(
trafficIndexDir
)));
crossDirDataRealTimePO
.
setTrafficIndex
(
Double
.
valueOf
(
decimalFormat
.
format
(
trafficIndexDir
)));
}
else
{
}
else
{
crossDirDataRealTimePO
.
setTrafficIndex
(
Double
.
valueOf
(
decimalFormat
.
format
(
1
)));
crossDirDataRealTimePO
.
setTrafficIndex
(
Double
.
valueOf
(
decimalFormat
.
format
(
1
)));
}
}
log
.
error
(
"trafficIndexDir处理后:"
+
crossDirDataRealTimePO
.
getTrafficIndex
());
crossDirDataRealTimePO
.
setStatus
(
status
);
crossDirDataRealTimePO
.
setStatus
(
status
);
crossDirDataRealTimePO
.
setDuration
(
5
);
crossDirDataRealTimePO
.
setDuration
(
5
);
// 修改持续时间
// 修改持续时间
...
@@ -901,7 +922,8 @@ public class LanePeriodicDataProcessServiceImpl implements DataProcessService {
...
@@ -901,7 +922,8 @@ public class LanePeriodicDataProcessServiceImpl implements DataProcessService {
}
}
Map
<
String
,
List
<
CrossDataRealtimePO
>>
crossDataMap
=
new
HashMap
<>();
Map
<
String
,
List
<
CrossDataRealtimePO
>>
crossDataMap
=
new
HashMap
<>();
crossDataMap
.
put
(
Constant
.
REAL_TIME_CROSS_DATA_KEY
,
insertCrossDataRealtimePOS
);
crossDataMap
.
put
(
Constant
.
REAL_TIME_CROSS_DATA_KEY
,
insertCrossDataRealtimePOS
);
producerHandler
.
send
(
Constant
.
REAL_TIME_CROSS_DATA_TOPIC
,
crossDataMap
);
producerHandler
.
send2FirstKafka
(
Constant
.
REAL_TIME_CROSS_DATA_TOPIC
,
crossDataMap
);
producerHandler
.
send2SecondKafka
(
Constant
.
REAL_TIME_CROSS_DATA_TOPIC
,
crossDataMap
);
}
}
private
void
replaceCrossPartFields
(
CrossDataRealtimePO
po
,
Date
startDate
)
{
private
void
replaceCrossPartFields
(
CrossDataRealtimePO
po
,
Date
startDate
)
{
...
...
wj-datacenter-service/src/main/java/net/wanji/datacenter/service/impl/LaneSnapshotDataProcessService.java
View file @
0bee2a04
...
@@ -81,6 +81,7 @@ public class LaneSnapshotDataProcessService implements DataProcessService {
...
@@ -81,6 +81,7 @@ public class LaneSnapshotDataProcessService implements DataProcessService {
crossLaneSnapshotDataDTO
.
setStartV
(
list
.
getStartV
());
crossLaneSnapshotDataDTO
.
setStartV
(
list
.
getStartV
());
crossLaneSnapshotDataDTO
.
setTailCarPosition
(
list
.
getTailCarPosition
());
crossLaneSnapshotDataDTO
.
setTailCarPosition
(
list
.
getTailCarPosition
());
crossLaneSnapshotDataDTO
.
setEndV
(
list
.
getEndV
());
crossLaneSnapshotDataDTO
.
setEndV
(
list
.
getEndV
());
crossLaneSnapshotDataDTO
.
setOverflowNums
(
list
.
getOverflowNums
());
result
.
add
(
crossLaneSnapshotDataDTO
);
result
.
add
(
crossLaneSnapshotDataDTO
);
}
}
}
}
...
...
wj-datacenter-service/src/main/resources/application-local.yaml
View file @
0bee2a04
...
@@ -9,7 +9,7 @@ spring:
...
@@ -9,7 +9,7 @@ spring:
elasticsearch
:
elasticsearch
:
username
:
elastic
username
:
elastic
password
:
Wanji300552
password
:
Wanji300552
uris
:
http://
37.12.182.31
:9200
uris
:
http://
10.102.1.182
:9200
application
:
application
:
name
:
wj-datacenter-service
name
:
wj-datacenter-service
main
:
main
:
...
@@ -21,25 +21,34 @@ spring:
...
@@ -21,25 +21,34 @@ spring:
datasource
:
datasource
:
master
:
master
:
type
:
com.alibaba.druid.pool.DruidDataSource
type
:
com.alibaba.druid.pool.DruidDataSource
url
:
jdbc:mysql://
37.12.182.29
:3306/t_signal_control_jinan?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&sessionVariables=sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'&useSSL=false&useCursorFetch=true
url
:
jdbc:mysql://
10.102.1.182
:3306/t_signal_control_jinan?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&sessionVariables=sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'&useSSL=false&useCursorFetch=true
# url: jdbc:mysql://10.102.1.112:53306/t_signal_control?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&sessionVariables=sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'&useSSL=false&useCursorFetch=true
# url: jdbc:mysql://10.102.1.112:53306/t_signal_control?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&sessionVariables=sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'&useSSL=false&useCursorFetch=true
username
:
root
username
:
root
password
:
Wanji300552
password
:
Wanji300552
driver-class-name
:
com.mysql.cj.jdbc.Driver
driver-class-name
:
com.mysql.cj.jdbc.Driver
slave
:
slave
:
type
:
com.alibaba.druid.pool.DruidDataSource
type
:
com.alibaba.druid.pool.DruidDataSource
url
:
jdbc:mysql://
37.12.182.29
:3306/t_signal_control_jinan?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&sessionVariables=sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'&useSSL=false&useCursorFetch=true
url
:
jdbc:mysql://
10.102.1.182
:3306/t_signal_control_jinan?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&sessionVariables=sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'&useSSL=false&useCursorFetch=true
username
:
root
username
:
root
password
:
Wanji300552
password
:
Wanji300552
driver-class-name
:
com.mysql.cj.jdbc.Driver
driver-class-name
:
com.mysql.cj.jdbc.Driver
holo
:
holo
:
type
:
com.alibaba.druid.pool.DruidDataSource
type
:
com.alibaba.druid.pool.DruidDataSource
url
:
jdbc:mysql://
37.12.182.29
:3306/holo_roadnet?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&sessionVariables=sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'&useSSL=false&useCursorFetch=true
url
:
jdbc:mysql://
10.102.1.182
:3306/holo_roadnet?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&sessionVariables=sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'&useSSL=false&useCursorFetch=true
username
:
root
username
:
root
password
:
Wanji300552
password
:
Wanji300552
driverClassName
:
com.mysql.cj.jdbc.Driver
driverClassName
:
com.mysql.cj.jdbc.Driver
kafka
:
kafka
:
bootstrap-servers
:
37.12.182.31:9092
#生产者配置
producer
:
producer1
:
bootstrap-servers
:
10.102.1.182:9092
key-deserializer
:
org.apache.kafka.common.serialization.StringSerializer
value-deserializer
:
org.apache.kafka.common.serialization.StringSerializer
producer2
:
bootstrap-servers
:
10.102.1.181:9092
key-deserializer
:
org.apache.kafka.common.serialization.StringSerializer
value-deserializer
:
org.apache.kafka.common.serialization.StringSerializer
#消费者配置
#消费者配置
consumer
:
consumer
:
max-poll-records
:
1
max-poll-records
:
1
...
@@ -50,11 +59,12 @@ spring:
...
@@ -50,11 +59,12 @@ spring:
key-deserializer
:
org.apache.kafka.common.serialization.StringDeserializer
key-deserializer
:
org.apache.kafka.common.serialization.StringDeserializer
value-deserializer
:
org.apache.kafka.common.serialization.StringDeserializer
value-deserializer
:
org.apache.kafka.common.serialization.StringDeserializer
group-id
:
group
group-id
:
group
bootstrap-servers
:
10.102.1.182:9092
listener
:
listener
:
concurrency
:
3
concurrency
:
3
ack-mode
:
manual_immediate
ack-mode
:
manual_immediate
redis
:
redis
:
host
:
37.12.182.29
host
:
10.102.1.182
port
:
6379
port
:
6379
password
:
Wanji300552
password
:
Wanji300552
jedis
:
jedis
:
...
@@ -120,7 +130,7 @@ eventsave:
...
@@ -120,7 +130,7 @@ eventsave:
kafka
:
kafka
:
producer
:
producer
:
bootstrap.servers
:
37.12.182.31
:9092
# kafka连接地址
bootstrap.servers
:
10.102.1.182
:9092
# kafka连接地址
acks
:
0
acks
:
0
retries
:
0
retries
:
0
batch.size
:
102400
batch.size
:
102400
...
...
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