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
66007865
Commit
66007865
authored
Jun 01, 2023
by
duanruiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[update] 缓存移入databus,代码优化
parent
1d1a19ea
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
42 additions
and
29 deletions
+42
-29
CrossOptimizeServiceImpl.java
.../net/wanji/opt/service/impl/CrossOptimizeServiceImpl.java
+11
-9
FeignProxyServiceImpl.java
...opt/service/signalcontrol/impl/FeignProxyServiceImpl.java
+8
-10
BaseCrossInfoCache.java
...main/java/net/wanji/databus/cache/BaseCrossInfoCache.java
+16
-3
BaseCrossPhaseInfoCache.java
...java/net/wanji/databus/cache/BaseCrossPhaseInfoCache.java
+3
-3
BaseCrossSchemeInfoCache.java
...ava/net/wanji/databus/cache/BaseCrossSchemeInfoCache.java
+3
-3
CrossRidInfoCache.java
.../main/java/net/wanji/databus/cache/CrossRidInfoCache.java
+1
-1
No files found.
signal-optimize-service/src/main/java/net/wanji/opt/service/impl/CrossOptimizeServiceImpl.java
View file @
66007865
...
@@ -8,8 +8,12 @@ import net.wanji.common.framework.Constants;
...
@@ -8,8 +8,12 @@ import net.wanji.common.framework.Constants;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.common.utils.tool.BeanListUtils
;
import
net.wanji.common.utils.tool.BeanListUtils
;
import
net.wanji.common.utils.tool.BeanMapUtils
;
import
net.wanji.common.utils.tool.BeanMapUtils
;
import
net.wanji.databus.dao.entity.CrossPhasePO
;
import
net.wanji.databus.cache.BaseCrossInfoCache
;
import
net.wanji.databus.cache.BaseCrossPhaseInfoCache
;
import
net.wanji.databus.cache.BaseCrossSchemeInfoCache
;
import
net.wanji.databus.cache.CrossRidInfoCache
;
import
net.wanji.databus.dao.entity.BaseCrossSchemePO
;
import
net.wanji.databus.dao.entity.BaseCrossSchemePO
;
import
net.wanji.databus.dao.entity.CrossPhasePO
;
import
net.wanji.databus.dao.entity.RidInfoEntity
;
import
net.wanji.databus.dao.entity.RidInfoEntity
;
import
net.wanji.databus.dao.mapper.CrossDirDataRealtimeMapper
;
import
net.wanji.databus.dao.mapper.CrossDirDataRealtimeMapper
;
import
net.wanji.databus.dao.mapper.CrossTurnDataRealtimeMapper
;
import
net.wanji.databus.dao.mapper.CrossTurnDataRealtimeMapper
;
...
@@ -23,8 +27,6 @@ import net.wanji.databus.vo.SchemeSendVO;
...
@@ -23,8 +27,6 @@ import net.wanji.databus.vo.SchemeSendVO;
import
net.wanji.databus.vo.SignalStatusVO
;
import
net.wanji.databus.vo.SignalStatusVO
;
import
net.wanji.feign.service.UtcFeignClients
;
import
net.wanji.feign.service.UtcFeignClients
;
import
net.wanji.opt.cache.CrossDirTurnPhaseCache
;
import
net.wanji.opt.cache.CrossDirTurnPhaseCache
;
import
net.wanji.opt.cache.CrossInfoCache
;
import
net.wanji.opt.cache.CrossRidInfoCache
;
import
net.wanji.opt.common.exception.OptServiceException
;
import
net.wanji.opt.common.exception.OptServiceException
;
import
net.wanji.opt.dao.mapper.CrossSchemeOptLogMapper
;
import
net.wanji.opt.dao.mapper.CrossSchemeOptLogMapper
;
import
net.wanji.opt.dto.CrossPhaseDTO
;
import
net.wanji.opt.dto.CrossPhaseDTO
;
...
@@ -45,8 +47,6 @@ import java.time.ZoneOffset;
...
@@ -45,8 +47,6 @@ import java.time.ZoneOffset;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
static
net
.
wanji
.
opt
.
cache
.
CrossPhaseInfoCache
.
getCrossPhaseCacheByCrossId
;
import
static
net
.
wanji
.
opt
.
cache
.
CrossSchemeInfoCache
.
geteSchemePOCache
;
/**
/**
* @author hfx
* @author hfx
...
@@ -65,7 +65,9 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService {
...
@@ -65,7 +65,9 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService {
private
final
SceneService
sceneService
;
private
final
SceneService
sceneService
;
private
final
CrossTurnDataRealtimeMapper
crossTurnDataRealtimeMapper
;
private
final
CrossTurnDataRealtimeMapper
crossTurnDataRealtimeMapper
;
private
final
CrossDirDataRealtimeMapper
crossDirDataRealtimeMapper
;
private
final
CrossDirDataRealtimeMapper
crossDirDataRealtimeMapper
;
private
final
CrossInfoCache
crossInfoCache
;
private
final
BaseCrossInfoCache
crossInfoCache
;
private
final
BaseCrossSchemeInfoCache
baseCrossSchemeInfoCache
;
private
final
BaseCrossPhaseInfoCache
baseCrossPhaseInfoCache
;
@Value
(
"${crossOptParam.maxVehheadDist}"
)
@Value
(
"${crossOptParam.maxVehheadDist}"
)
private
Double
maxVehheadDist
;
private
Double
maxVehheadDist
;
...
@@ -505,7 +507,7 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService {
...
@@ -505,7 +507,7 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService {
* @param phaseTimeOptResultMap
* @param phaseTimeOptResultMap
* @return
* @return
*/
*/
public
static
SchemeSendVO
getSchemeSendVO
(
String
crossId
,
Map
<
String
,
CrossPhaseDTO
>
phaseMap
,
Map
<
String
,
Integer
>
phaseTimeOptResultMap
)
throws
Exception
{
public
SchemeSendVO
getSchemeSendVO
(
String
crossId
,
Map
<
String
,
CrossPhaseDTO
>
phaseMap
,
Map
<
String
,
Integer
>
phaseTimeOptResultMap
)
throws
Exception
{
String
key
=
String
.
join
(
Constants
.
SystemParam
.
SEPARATOR_UNDER_LINE
,
crossId
,
"1"
,
"s"
);
String
key
=
String
.
join
(
Constants
.
SystemParam
.
SEPARATOR_UNDER_LINE
,
crossId
,
"1"
,
"s"
);
CrossPhaseDTO
crossPhaseDTO
=
phaseMap
.
get
(
key
);
CrossPhaseDTO
crossPhaseDTO
=
phaseMap
.
get
(
key
);
if
(
Objects
.
isNull
(
crossPhaseDTO
))
{
if
(
Objects
.
isNull
(
crossPhaseDTO
))
{
...
@@ -513,9 +515,9 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService {
...
@@ -513,9 +515,9 @@ public class CrossOptimizeServiceImpl implements CrossOptimizeService {
throw
new
OptServiceException
(
"当前路口不能获取到运行方案相位信息!"
);
throw
new
OptServiceException
(
"当前路口不能获取到运行方案相位信息!"
);
}
}
Integer
schemeId
=
crossPhaseDTO
.
getSchemeId
();
Integer
schemeId
=
crossPhaseDTO
.
getSchemeId
();
BaseCrossSchemePO
baseCrossSchemePO
=
gete
SchemePOCache
(
String
.
join
(
Constants
.
SystemParam
.
SEPARATOR_UNDER_LINE
,
crossId
,
String
.
valueOf
(
schemeId
)));
BaseCrossSchemePO
baseCrossSchemePO
=
baseCrossSchemeInfoCache
.
get
SchemePOCache
(
String
.
join
(
Constants
.
SystemParam
.
SEPARATOR_UNDER_LINE
,
crossId
,
String
.
valueOf
(
schemeId
)));
// 当前路口方案号的相位参数
// 当前路口方案号的相位参数
Map
<
Integer
,
List
<
CrossPhasePO
>>
ringNoPhasePOMap
=
getCrossPhaseCacheByCrossId
(
crossId
).
stream
().
filter
(
po
->
Objects
.
equals
(
schemeId
,
po
.
getPlanId
())).
collect
(
Collectors
.
groupingBy
(
CrossPhasePO:
:
getRingNo
));
Map
<
Integer
,
List
<
CrossPhasePO
>>
ringNoPhasePOMap
=
baseCrossPhaseInfoCache
.
getCrossPhaseCacheByCrossId
(
crossId
).
stream
().
filter
(
po
->
Objects
.
equals
(
schemeId
,
po
.
getPlanId
())).
collect
(
Collectors
.
groupingBy
(
CrossPhasePO:
:
getRingNo
));
SchemeSendVO
schemeSendVO
=
new
SchemeSendVO
();
SchemeSendVO
schemeSendVO
=
new
SchemeSendVO
();
List
<
SchemeSendVO
.
Pattern
>
patternList
=
new
ArrayList
<>();
List
<
SchemeSendVO
.
Pattern
>
patternList
=
new
ArrayList
<>();
...
...
signal-optimize-service/src/main/java/net/wanji/opt/service/signalcontrol/impl/FeignProxyServiceImpl.java
View file @
66007865
package
net
.
wanji
.
opt
.
service
.
signalcontrol
.
impl
;
package
net
.
wanji
.
opt
.
service
.
signalcontrol
.
impl
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.common.framework.exception.FeignServiceException
;
import
net.wanji.common.framework.exception.FeignServiceException
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.common.framework.rest.JsonViewObject
;
...
@@ -10,33 +11,30 @@ import net.wanji.opt.cache.CrossDirTurnPhaseCache;
...
@@ -10,33 +11,30 @@ import net.wanji.opt.cache.CrossDirTurnPhaseCache;
import
net.wanji.opt.dao.mapper.CrossSchemeOptLogMapper
;
import
net.wanji.opt.dao.mapper.CrossSchemeOptLogMapper
;
import
net.wanji.opt.dto.CrossPhaseDTO
;
import
net.wanji.opt.dto.CrossPhaseDTO
;
import
net.wanji.opt.po.base.CrossSchemeOptLogPO
;
import
net.wanji.opt.po.base.CrossSchemeOptLogPO
;
import
net.wanji.opt.service.impl.CrossOptimizeServiceImpl
;
import
net.wanji.opt.service.signalcontrol.FeignProxyService
;
import
net.wanji.opt.service.signalcontrol.FeignProxyService
;
import
net.wanji.opt.vo.SchemeOptSendVO
;
import
net.wanji.opt.vo.SchemeOptSendVO
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.time.ZoneOffset
;
import
java.time.ZoneOffset
;
import
java.util.*
;
import
java.util.*
;
import
static
net
.
wanji
.
opt
.
service
.
impl
.
CrossOptimizeServiceImpl
.
getSchemeSendVO
;
/**
/**
* @author duanruiming
* @author duanruiming
* @date 2023/03/02 9:11
* @date 2023/03/02 9:11
*/
*/
@Service
@Service
@Slf4j
@Slf4j
@RequiredArgsConstructor
public
class
FeignProxyServiceImpl
implements
FeignProxyService
{
public
class
FeignProxyServiceImpl
implements
FeignProxyService
{
@Autowired
private
final
UtcFeignClients
utcFeignClients
;
private
UtcFeignClients
utcFeignClients
;
private
final
CrossSchemeOptLogMapper
crossSchemeOptLogMapper
;
@Autowired
private
final
CrossDirTurnPhaseCache
crossDirTurnPhaseCache
;
private
CrossSchemeOptLogMapper
crossSchemeOptLogMapper
;
private
final
CrossOptimizeServiceImpl
crossOptimizeService
;
@Autowired
private
CrossDirTurnPhaseCache
crossDirTurnPhaseCache
;
@Override
@Override
public
JsonViewObject
schemeOptSend
(
SchemeOptSendVO
schemeOptSendVO
)
throws
Exception
{
public
JsonViewObject
schemeOptSend
(
SchemeOptSendVO
schemeOptSendVO
)
throws
Exception
{
...
@@ -59,7 +57,7 @@ public class FeignProxyServiceImpl implements FeignProxyService {
...
@@ -59,7 +57,7 @@ public class FeignProxyServiceImpl implements FeignProxyService {
public
JsonViewObject
schemeOptRestore
(
String
crossId
)
throws
Exception
{
public
JsonViewObject
schemeOptRestore
(
String
crossId
)
throws
Exception
{
// 下发原始方案
// 下发原始方案
Map
<
String
,
CrossPhaseDTO
>
phaseMap
=
crossDirTurnPhaseCache
.
getPhaseDirTurnMap
();
Map
<
String
,
CrossPhaseDTO
>
phaseMap
=
crossDirTurnPhaseCache
.
getPhaseDirTurnMap
();
SchemeSendVO
schemeSendVO
=
getSchemeSendVO
(
crossId
,
phaseMap
,
Collections
.
EMPTY_MAP
);
SchemeSendVO
schemeSendVO
=
crossOptimizeService
.
getSchemeSendVO
(
crossId
,
phaseMap
,
Collections
.
EMPTY_MAP
);
JsonViewObject
jsonViewObject
=
utcFeignClients
.
schemeSend
(
schemeSendVO
);
JsonViewObject
jsonViewObject
=
utcFeignClients
.
schemeSend
(
schemeSendVO
);
if
(
Objects
.
isNull
(
jsonViewObject
)
||
jsonViewObject
.
getCode
()
!=
200
)
{
if
(
Objects
.
isNull
(
jsonViewObject
)
||
jsonViewObject
.
getCode
()
!=
200
)
{
log
.
error
(
"诊断优化手动恢复优化方案,UTC服务调用异常!"
,
jsonViewObject
);
log
.
error
(
"诊断优化手动恢复优化方案,UTC服务调用异常!"
,
jsonViewObject
);
...
...
signal-optimize-service/src/main/java/net/wanji/opt/cache/
CrossInfoCache.java
→
wj-databus/src/main/java/net/wanji/databus/cache/Base
CrossInfoCache.java
View file @
66007865
package
net
.
wanji
.
opt
.
cache
;
package
net
.
wanji
.
databus
.
cache
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.databus.dao.mapper.BaseCrossInfoMapper
;
import
net.wanji.databus.dao.mapper.BaseCrossInfoMapper
;
import
net.wanji.databus.po.BaseCrossInfoPO
;
import
net.wanji.databus.po.BaseCrossInfoPO
;
import
net.wanji.databus.vo.CrossInfoVO
;
import
net.wanji.databus.vo.CrossInfoVO
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.CommandLineRunner
;
import
org.springframework.boot.CommandLineRunner
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
...
@@ -19,7 +20,7 @@ import java.util.stream.Collectors;
...
@@ -19,7 +20,7 @@ import java.util.stream.Collectors;
*/
*/
@Component
@Component
@Slf4j
@Slf4j
public
class
CrossInfoCache
implements
CommandLineRunner
{
public
class
Base
CrossInfoCache
implements
CommandLineRunner
{
@Autowired
@Autowired
private
BaseCrossInfoMapper
baseCrossInfoMapper
;
private
BaseCrossInfoMapper
baseCrossInfoMapper
;
...
@@ -35,6 +36,18 @@ public class CrossInfoCache implements CommandLineRunner {
...
@@ -35,6 +36,18 @@ public class CrossInfoCache implements CommandLineRunner {
return
crossInfoList
;
return
crossInfoList
;
}
}
/**
* 通过路口编号查询经纬度
*/
public
String
getCoordinateByCrossId
(
String
crossId
)
{
for
(
BaseCrossInfoPO
baseCrossInfoPO
:
crossInfoList
)
{
if
(
StringUtils
.
equals
(
crossId
,
baseCrossInfoPO
.
getId
()))
{
return
baseCrossInfoPO
.
getLocation
();
}
}
return
null
;
}
/**
/**
* 获取所有信控路口的路口编号
* 获取所有信控路口的路口编号
*
*
...
@@ -50,7 +63,7 @@ public class CrossInfoCache implements CommandLineRunner {
...
@@ -50,7 +63,7 @@ public class CrossInfoCache implements CommandLineRunner {
init
();
init
();
}
}
public
void
init
()
{
public
void
init
()
{
List
<
BaseCrossInfoPO
>
baseCrossInfoPOS
=
baseCrossInfoMapper
.
selectAll
(
new
CrossInfoVO
());
List
<
BaseCrossInfoPO
>
baseCrossInfoPOS
=
baseCrossInfoMapper
.
selectAll
(
new
CrossInfoVO
());
if
(!
CollectionUtils
.
isEmpty
(
baseCrossInfoPOS
))
{
if
(!
CollectionUtils
.
isEmpty
(
baseCrossInfoPOS
))
{
crossInfoList
.
addAll
(
baseCrossInfoPOS
);
crossInfoList
.
addAll
(
baseCrossInfoPOS
);
...
...
signal-optimize-service/src/main/java/net/wanji/opt/cache/
CrossPhaseInfoCache.java
→
wj-databus/src/main/java/net/wanji/databus/cache/Base
CrossPhaseInfoCache.java
View file @
66007865
package
net
.
wanji
.
opt
.
cache
;
package
net
.
wanji
.
databus
.
cache
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.databus.dao.entity.CrossPhasePO
;
import
net.wanji.databus.dao.entity.CrossPhasePO
;
...
@@ -20,7 +20,7 @@ import java.util.stream.Collectors;
...
@@ -20,7 +20,7 @@ import java.util.stream.Collectors;
*/
*/
@Component
@Component
@Slf4j
@Slf4j
public
class
CrossPhaseInfoCache
implements
CommandLineRunner
{
public
class
Base
CrossPhaseInfoCache
implements
CommandLineRunner
{
@Resource
@Resource
BaseCrossPhaseMapper
baseCrossPhaseMapper
;
BaseCrossPhaseMapper
baseCrossPhaseMapper
;
...
@@ -44,7 +44,7 @@ public class CrossPhaseInfoCache implements CommandLineRunner {
...
@@ -44,7 +44,7 @@ public class CrossPhaseInfoCache implements CommandLineRunner {
* @param crossId
* @param crossId
* @return
* @return
*/
*/
public
static
List
<
CrossPhasePO
>
getCrossPhaseCacheByCrossId
(
String
crossId
)
{
public
List
<
CrossPhasePO
>
getCrossPhaseCacheByCrossId
(
String
crossId
)
{
if
(!
crossPhaseInfoMap
.
isEmpty
())
{
if
(!
crossPhaseInfoMap
.
isEmpty
())
{
return
crossPhaseInfoMap
.
get
(
crossId
);
return
crossPhaseInfoMap
.
get
(
crossId
);
}
}
...
...
signal-optimize-service/src/main/java/net/wanji/opt/cache/
CrossSchemeInfoCache.java
→
wj-databus/src/main/java/net/wanji/databus/cache/Base
CrossSchemeInfoCache.java
View file @
66007865
package
net
.
wanji
.
opt
.
cache
;
package
net
.
wanji
.
databus
.
cache
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.common.framework.Constants
;
import
net.wanji.common.framework.Constants
;
...
@@ -19,7 +19,7 @@ import java.util.Map;
...
@@ -19,7 +19,7 @@ import java.util.Map;
*/
*/
@Component
@Component
@Slf4j
@Slf4j
public
class
CrossSchemeInfoCache
implements
CommandLineRunner
{
public
class
Base
CrossSchemeInfoCache
implements
CommandLineRunner
{
@Resource
@Resource
BaseCrossSchemeMapper
baseCrossSchemeMapper
;
BaseCrossSchemeMapper
baseCrossSchemeMapper
;
...
@@ -42,7 +42,7 @@ public class CrossSchemeInfoCache implements CommandLineRunner {
...
@@ -42,7 +42,7 @@ public class CrossSchemeInfoCache implements CommandLineRunner {
* @param key: crossId_id
* @param key: crossId_id
* @return
* @return
*/
*/
public
static
BaseCrossSchemePO
gete
SchemePOCache
(
String
key
)
{
public
BaseCrossSchemePO
get
SchemePOCache
(
String
key
)
{
if
(!
crossSchemeInfoMap
.
isEmpty
())
{
if
(!
crossSchemeInfoMap
.
isEmpty
())
{
return
crossSchemeInfoMap
.
get
(
key
);
return
crossSchemeInfoMap
.
get
(
key
);
}
}
...
...
signal-optimize-service/src/main/java/net/wanji/opt
/cache/CrossRidInfoCache.java
→
wj-databus/src/main/java/net/wanji/databus
/cache/CrossRidInfoCache.java
View file @
66007865
package
net
.
wanji
.
opt
.
cache
;
package
net
.
wanji
.
databus
.
cache
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.common.framework.Constants
;
import
net.wanji.common.framework.Constants
;
...
...
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