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
296a7e1e
Commit
296a7e1e
authored
Aug 16, 2023
by
duanruiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[update] 优化东土实时数据调用
parent
5ff31eb2
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
58 additions
and
10 deletions
+58
-10
SignalDataCache.java
...src/main/java/net/wanji/utc/dt/cache/SignalDataCache.java
+6
-4
DTSignalStatusServiceImpl.java
.../wanji/utc/dt/service/impl/DTSignalStatusServiceImpl.java
+6
-6
RealTimeTask.java
...ice/src/main/java/net/wanji/utc/dt/task/RealTimeTask.java
+46
-0
No files found.
signal-utc-dt-service/src/main/java/net/wanji/utc/dt/cache/SignalDataCache.java
View file @
296a7e1e
package
net
.
wanji
.
utc
.
dt
.
cache
;
import
net.wanji.utc.dt.pojo.dtconvert.LightsInfoPojo
;
import
net.wanji.utc.dt.pojo.dtconvert.PhaseInfoPojo
;
import
net.wanji.utc.dt.pojo.dtconvert.PhaseStageInfoPojo
;
import
net.wanji.utc.dt.pojo.dtconvert.SchemeInfoPojo
;
import
net.wanji.utc.dt.pojo.dtconvert.*
;
import
org.springframework.stereotype.Component
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.ConcurrentHashMap
;
/**
* @author duanruiming
...
...
@@ -20,4 +18,8 @@ public class SignalDataCache {
public
static
final
Map
<
String
,
List
<
PhaseStageInfoPojo
>>
phaseStageInfoCache
=
new
HashMap
<>();
public
static
final
Map
<
String
,
List
<
PhaseInfoPojo
>>
phaseInfoCache
=
new
HashMap
<>();
public
static
final
Map
<
String
,
List
<
LightsInfoPojo
>>
lightInfoCache
=
new
HashMap
<>();
public
static
final
Map
<
String
,
List
<
String
>>
realTimeLightCache
=
new
ConcurrentHashMap
<>();
public
static
final
Map
<
String
,
List
<
RunningStatusPojo
>>
runningStatusCache
=
new
ConcurrentHashMap
<>();
}
signal-utc-dt-service/src/main/java/net/wanji/utc/dt/service/impl/DTSignalStatusServiceImpl.java
View file @
296a7e1e
...
...
@@ -32,9 +32,9 @@ public class DTSignalStatusServiceImpl implements SignalStatusService {
@Override
public
List
<
SignalStatusLogPO
>
runningStatusAlarm
(
String
crossId
)
throws
Exception
{
List
<
String
>
lightsStatus
=
getLightsStatusInfoPojos
(
crossId
);
List
<
String
>
lightsStatus
=
SignalDataCache
.
realTimeLightCache
.
get
(
crossId
);
List
<
FaultInfoPojo
>
faultInfoPojos
=
getFaultInfoPojos
(
crossId
);
List
<
RunningStatusPojo
>
runningStatusPojos
=
getRunningStatusPojos
(
crossId
);
List
<
RunningStatusPojo
>
runningStatusPojos
=
SignalDataCache
.
runningStatusCache
.
get
(
crossId
);
return
getSignalStatus
(
crossId
,
faultInfoPojos
,
runningStatusPojos
);
}
...
...
@@ -57,7 +57,7 @@ public class DTSignalStatusServiceImpl implements SignalStatusService {
return
signalStatusLogPOS
;
}
p
rivate
List
<
RunningStatusPojo
>
getRunningStatusPojos
(
String
crossId
)
throws
Exception
{
p
ublic
static
List
<
RunningStatusPojo
>
getRunningStatusPojos
(
String
crossId
)
throws
Exception
{
List
<
RunningStatusPojo
>
runningStatusPojos
=
new
ArrayList
<>();
CrossInfoPO
crossInfoPO
=
DTControlCommandServiceImpl
.
checkCrossId
(
crossId
);
String
message
=
String
.
format
(
Constants
.
COMMAND_COMMON
,
Constants
.
COMMAND_QUERY
,
Constants
.
COMMAND_RUNNING_STATUS
);
...
...
@@ -87,7 +87,7 @@ public class DTSignalStatusServiceImpl implements SignalStatusService {
return
runningStatusPojos
;
}
p
rivate
List
<
String
>
getLightsStatusInfoPojos
(
String
crossId
)
throws
Exception
{
p
ublic
static
List
<
String
>
getLightsStatusInfoPojos
(
String
crossId
)
throws
Exception
{
List
<
String
>
lightsStatusList
=
new
ArrayList
<>();
CrossInfoPO
crossInfoPO
=
DTControlCommandServiceImpl
.
checkCrossId
(
crossId
);
String
message
=
String
.
format
(
Constants
.
COMMAND_COMMON
,
Constants
.
COMMAND_QUERY
,
Constants
.
COMMAND_LIGHT_STATUS
);
...
...
@@ -132,9 +132,9 @@ public class DTSignalStatusServiceImpl implements SignalStatusService {
@Override
public
List
<
LightsStatusVO
>
lightStatus
(
String
crossId
)
throws
Exception
{
List
<
String
>
lightsStatus
=
getLightsStatusInfoPojos
(
crossId
);
List
<
String
>
lightsStatus
=
SignalDataCache
.
realTimeLightCache
.
get
(
crossId
);
List
<
PhaseStageStatusPojo
>
phaseStageStatusPojos
=
getPhaseStageStatus
(
crossId
);
List
<
RunningStatusPojo
>
runningStatusPojos
=
getRunningStatusPojos
(
crossId
);
List
<
RunningStatusPojo
>
runningStatusPojos
=
SignalDataCache
.
runningStatusCache
.
get
(
crossId
);
return
getLightsStatusVOs
(
crossId
,
lightsStatus
,
phaseStageStatusPojos
,
runningStatusPojos
);
}
...
...
signal-utc-dt-service/src/main/java/net/wanji/utc/dt/task/RealTimeTask.java
0 → 100644
View file @
296a7e1e
package
net
.
wanji
.
utc
.
dt
.
task
;
import
net.wanji.databus.po.CrossInfoPO
;
import
net.wanji.utc.dt.cache.CrossInfoCache
;
import
net.wanji.utc.dt.cache.SignalDataCache
;
import
net.wanji.utc.dt.pojo.dtconvert.RunningStatusPojo
;
import
net.wanji.utc.dt.service.impl.DTSignalStatusServiceImpl
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author duanruiming
* @date 2023/08/16 13:50
*/
@Component
public
class
RealTimeTask
{
@Resource
(
name
=
"commonThreadPoolExecutor"
)
ThreadPoolTaskExecutor
commonThreadPoolExecutor
;
@Scheduled
(
initialDelay
=
60
*
1000
,
fixedRate
=
60
*
1000
)
public
void
getRealTimeLightStatus
()
throws
Exception
{
Map
<
String
,
CrossInfoPO
>
crossInfoCache
=
CrossInfoCache
.
getCrossInfoCache
();
if
(!
crossInfoCache
.
isEmpty
())
{
for
(
Map
.
Entry
<
String
,
CrossInfoPO
>
entry
:
crossInfoCache
.
entrySet
())
{
String
crossId
=
entry
.
getKey
();
commonThreadPoolExecutor
.
execute
(()
->
{
try
{
List
<
String
>
lightsStatusInfoPojos
=
DTSignalStatusServiceImpl
.
getLightsStatusInfoPojos
(
crossId
);
SignalDataCache
.
realTimeLightCache
.
put
(
crossId
,
lightsStatusInfoPojos
);
List
<
RunningStatusPojo
>
runningStatusPojos
=
DTSignalStatusServiceImpl
.
getRunningStatusPojos
(
crossId
);
SignalDataCache
.
runningStatusCache
.
put
(
crossId
,
runningStatusPojos
);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
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