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
cfffa9c4
Commit
cfffa9c4
authored
Jan 20, 2025
by
duanruiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[update] 路口周期转向数据优化
parent
b4bde89b
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
37 additions
and
14 deletions
+37
-14
TurnTypeParseEnum.java
...n/java/net/wanji/datacenter/common/TurnTypeParseEnum.java
+17
-5
DataProcessServiceImpl.java
...wanji/datacenter/service/impl/DataProcessServiceImpl.java
+20
-9
No files found.
wj-datacenter-service/src/main/java/net/wanji/datacenter/common/TurnTypeParseEnum.java
View file @
cfffa9c4
...
@@ -12,16 +12,28 @@ import java.util.Objects;
...
@@ -12,16 +12,28 @@ import java.util.Objects;
@Getter
@Getter
@AllArgsConstructor
@AllArgsConstructor
public
enum
TurnTypeParseEnum
{
public
enum
TurnTypeParseEnum
{
LEFT
(
"l"
,
1
,
"左转"
),
// 添加神思转向编码
STRAIGHT
(
"s"
,
2
,
"直行"
),
LEFT
(
"l"
,
1
,
2
,
"左转"
),
RIGHT
(
"r"
,
3
,
"右转"
),
STRAIGHT
(
"s"
,
2
,
1
,
"直行"
),
AROUND
(
"u"
,
4
,
"掉头"
),
RIGHT
(
"r"
,
3
,
4
,
"右转"
),
PERSON
(
"ped"
,
20
,
"行人"
);
AROUND
(
"u"
,
4
,
8
,
"掉头"
),
PERSON
(
"ped"
,
20
,
20
,
"行人"
);
private
final
String
type
;
private
final
String
type
;
private
final
Integer
code
;
private
final
Integer
code
;
// 神思turnCode
private
final
Integer
ssCode
;
private
final
String
msg
;
private
final
String
msg
;
public
static
Integer
getCodeBySSCode
(
Integer
ssCode
)
{
for
(
TurnTypeParseEnum
value
:
TurnTypeParseEnum
.
values
())
{
if
(
Objects
.
equals
(
value
.
getSsCode
(),
ssCode
))
{
return
value
.
code
;
}
}
return
null
;
}
public
static
Integer
getCodeByType
(
String
type
)
{
public
static
Integer
getCodeByType
(
String
type
)
{
for
(
TurnTypeParseEnum
value
:
TurnTypeParseEnum
.
values
())
{
for
(
TurnTypeParseEnum
value
:
TurnTypeParseEnum
.
values
())
{
...
...
wj-datacenter-service/src/main/java/net/wanji/datacenter/service/impl/DataProcessServiceImpl.java
View file @
cfffa9c4
...
@@ -6,6 +6,7 @@ import net.wanji.common.utils.tool.BeanListUtils;
...
@@ -6,6 +6,7 @@ import net.wanji.common.utils.tool.BeanListUtils;
import
net.wanji.databus.dao.mapper.*
;
import
net.wanji.databus.dao.mapper.*
;
import
net.wanji.databus.po.*
;
import
net.wanji.databus.po.*
;
import
net.wanji.datacenter.cache.CrossLaneInfoCache
;
import
net.wanji.datacenter.cache.CrossLaneInfoCache
;
import
net.wanji.datacenter.common.TurnTypeParseEnum
;
import
net.wanji.datacenter.pojo.dto.CrossPeriodDataDTO
;
import
net.wanji.datacenter.pojo.dto.CrossPeriodDataDTO
;
import
net.wanji.datacenter.pojo.dto.CrossPeriodDirDTO
;
import
net.wanji.datacenter.pojo.dto.CrossPeriodDirDTO
;
import
net.wanji.datacenter.pojo.dto.CrossPeriodLaneDTO
;
import
net.wanji.datacenter.pojo.dto.CrossPeriodLaneDTO
;
...
@@ -141,15 +142,13 @@ public class DataProcessServiceImpl implements DataProcessService {
...
@@ -141,15 +142,13 @@ public class DataProcessServiceImpl implements DataProcessService {
public
void
dirSave
(
String
originalData
)
throws
Exception
{
public
void
dirSave
(
String
originalData
)
throws
Exception
{
try
{
try
{
CrossPeriodDirDTO
crossPeriodDirDTO
=
JSONObject
.
parseObject
(
originalData
,
CrossPeriodDirDTO
.
class
);
CrossPeriodDirDTO
crossPeriodDirDTO
=
JSONObject
.
parseObject
(
originalData
,
CrossPeriodDirDTO
.
class
);
String
timeStamp
=
crossPeriodDirDTO
.
getTimeStamp
();
SimpleDateFormat
dateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss.SSS"
);
List
<
CrossDirDataRealtimePO
>
eventList
=
crossPeriodDirDTO
.
getEventList
();
List
<
CrossDirDataRealtimePO
>
eventList
=
crossPeriodDirDTO
.
getEventList
();
if
(!
CollectionUtils
.
isEmpty
(
eventList
))
{
if
(!
CollectionUtils
.
isEmpty
(
eventList
))
{
List
<
CrossDirDataRealtimePO
>
crossDirDataRealtimePOS
=
new
ArrayList
<>(
eventList
.
size
());
List
<
CrossDirDataRealtimePO
>
crossDirDataRealtimePOS
=
new
ArrayList
<>(
eventList
.
size
());
for
(
CrossDirDataRealtimePO
crossDirDataRealtimePO
:
eventList
)
{
for
(
CrossDirDataRealtimePO
crossDirDataRealtimePO
:
eventList
)
{
String
crossId
=
crossDirDataRealtimePO
.
getCrossId
();
String
crossId
=
crossDirDataRealtimePO
.
getCrossId
();
Integer
dirType
=
crossDirDataRealtimePO
.
getDirType
()
+
1
;
Integer
dirType
=
crossDirDataRealtimePO
.
getDirType
()
+
1
;
crossDirDataRealtimePO
.
setId
(
crossId
.
concat
(
String
.
valueOf
(
dirType
)));
crossDirDataRealtimePO
.
setId
(
String
.
join
(
"_"
,
crossId
,
String
.
valueOf
(
dirType
)));
crossDirDataRealtimePO
.
setDirType
(
dirType
);
crossDirDataRealtimePO
.
setDirType
(
dirType
);
crossDirDataRealtimePOS
.
add
(
crossDirDataRealtimePO
);
crossDirDataRealtimePOS
.
add
(
crossDirDataRealtimePO
);
}
}
...
@@ -171,16 +170,28 @@ public class DataProcessServiceImpl implements DataProcessService {
...
@@ -171,16 +170,28 @@ public class DataProcessServiceImpl implements DataProcessService {
public
void
turnSave
(
String
originalData
)
throws
Exception
{
public
void
turnSave
(
String
originalData
)
throws
Exception
{
try
{
try
{
CrossPeriodTurnDTO
crossPeriodTurnDTO
=
JSONObject
.
parseObject
(
originalData
,
CrossPeriodTurnDTO
.
class
);
CrossPeriodTurnDTO
crossPeriodTurnDTO
=
JSONObject
.
parseObject
(
originalData
,
CrossPeriodTurnDTO
.
class
);
String
timeStamp
=
crossPeriodTurnDTO
.
getTimeStamp
();
SimpleDateFormat
dateFormat
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss.SSS"
);
List
<
CrossTurnDataRealtimePO
>
eventList
=
crossPeriodTurnDTO
.
getEventList
();
List
<
CrossTurnDataRealtimePO
>
eventList
=
crossPeriodTurnDTO
.
getEventList
();
if
(!
CollectionUtils
.
isEmpty
(
eventList
))
{
if
(!
CollectionUtils
.
isEmpty
(
eventList
))
{
List
<
CrossTurnDataRealtimePO
>
crossTurnDataRealtimePOS
=
eventList
;
List
<
CrossTurnDataRealtimePO
>
crossTurnDataRealtimePOS
=
eventList
;
List
<
String
>
crossIds
=
crossTurnDataRealtimePOS
.
stream
().
map
(
CrossTurnDataRealtimePO:
:
getCrossId
).
distinct
().
collect
(
Collectors
.
toList
());
List
<
CrossTurnDataRealtimePO
>
results
=
new
ArrayList
<>(
eventList
.
size
());
for
(
CrossTurnDataRealtimePO
crossTurnDataRealtimePO
:
crossTurnDataRealtimePOS
)
{
String
crossId
=
crossTurnDataRealtimePO
.
getCrossId
();
CrossTurnDataRealtimePO
result
=
new
CrossTurnDataRealtimePO
();
BeanUtils
.
copyProperties
(
crossTurnDataRealtimePO
,
result
);
Integer
inDir
=
crossTurnDataRealtimePO
.
getInDir
()
+
1
;
String
turnType
=
crossTurnDataRealtimePO
.
getTurnType
();
result
.
setInDir
(
inDir
);
Integer
ssCode
=
TurnTypeParseEnum
.
getCodeBySSCode
(
Integer
.
valueOf
(
turnType
));
result
.
setTurnType
(
String
.
valueOf
(
ssCode
));
String
keyId
=
String
.
join
(
"_"
,
crossId
,
String
.
valueOf
(
inDir
),
turnType
);
result
.
setId
(
keyId
);
results
.
add
(
result
);
}
List
<
String
>
crossIds
=
results
.
stream
().
map
(
CrossTurnDataRealtimePO:
:
getCrossId
).
distinct
().
collect
(
Collectors
.
toList
());
crossTurnDataRealTimeMapper
.
deleteBatch
(
crossIds
);
crossTurnDataRealTimeMapper
.
deleteBatch
(
crossIds
);
crossTurnDataRealTimeMapper
.
insertBatch
(
crossTurnDataRealtimePOS
);
crossTurnDataRealTimeMapper
.
insertBatch
(
results
);
List
<
CrossTurnDataHistPO
>
list
=
new
ArrayList
<>(
crossTurnDataRealtimePOS
.
size
());
List
<
CrossTurnDataHistPO
>
list
=
new
ArrayList
<>(
results
.
size
());
BeanListUtils
.
populateList
(
crossTurnDataRealtimePOS
,
list
,
CrossTurnDataHistPO
.
class
);
BeanListUtils
.
populateList
(
results
,
list
,
CrossTurnDataHistPO
.
class
);
crossTurnDataHistMapper
.
insertBatch
(
list
);
crossTurnDataHistMapper
.
insertBatch
(
list
);
}
}
}
catch
(
Exception
e
)
{
}
catch
(
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