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
ea99c7de
Commit
ea99c7de
authored
May 23, 2023
by
duanruiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[update] 标准协议通讯层远程调用优化
parent
c7864d9c
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
207 additions
and
90 deletions
+207
-90
CrossInfoCache.java
...ice/src/main/java/net/wanji/utc/cache/CrossInfoCache.java
+76
-0
UtcFeignClientCache.java
...rc/main/java/net/wanji/utc/cache/UtcFeignClientCache.java
+1
-2
SignalStatusController.java
...java/net/wanji/utc/controller/SignalStatusController.java
+2
-2
ControlCommandStrategyServiceImpl.java
...rvice/control/impl/ControlCommandStrategyServiceImpl.java
+12
-26
WanJiControlCommandServiceImpl.java
.../service/control/impl/WanJiControlCommandServiceImpl.java
+51
-23
SignalStatusService.java
...et/wanji/utc/service/runninginfo/SignalStatusService.java
+4
-3
WanJiCommonRunningStatusService.java
.../service/runninginfo/WanJiCommonRunningStatusService.java
+2
-2
SignalStatusServiceImpl.java
...utc/service/runninginfo/impl/SignalStatusServiceImpl.java
+3
-3
WanJiCommonRunningStatusServiceImpl.java
...runninginfo/impl/WanJiCommonRunningStatusServiceImpl.java
+27
-9
WanJiCommonStaticInfoService.java
.../utc/service/staticinfo/WanJiCommonStaticInfoService.java
+3
-3
WanJiCommonStaticInfoServiceImpl.java
...ice/staticinfo/impl/WanJiCommonStaticInfoServiceImpl.java
+26
-17
No files found.
signal-utc-service/src/main/java/net/wanji/utc/cache/CrossInfoCache.java
0 → 100644
View file @
ea99c7de
package
net
.
wanji
.
utc
.
cache
;
import
net.wanji.databus.dao.mapper.CrossInfoMapper
;
import
net.wanji.databus.dao.mapper.ManufacturerInfoMapper
;
import
net.wanji.databus.po.CrossInfoPO
;
import
net.wanji.databus.po.ManufacturerInfoPO
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.boot.CommandLineRunner
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.CollectionUtils
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Objects
;
/**
* @author duanruiming
* @date 2023/05/23 9:44
*/
@Component
public
class
CrossInfoCache
implements
CommandLineRunner
{
@Resource
private
CrossInfoMapper
crossInfoMapper
;
@Resource
private
ManufacturerInfoMapper
manufacturerInfoMapper
;
private
static
final
List
<
CrossInfoPO
>
crossInfoList
=
new
ArrayList
<>();
/**
* 通过路口编号获取厂商编码
*
* @param crossId
* @return
*/
public
String
getManufacturerCodeByCrossId
(
String
crossId
)
throws
Exception
{
CrossInfoPO
crossInfoPO
=
getCrossInfoPO
(
crossId
);
if
(
Objects
.
nonNull
(
crossInfoPO
))
{
Integer
manufacturerId
=
crossInfoPO
.
getManufacturerId
();
ManufacturerInfoPO
manufacturerInfoPO
=
manufacturerInfoMapper
.
selectById
(
manufacturerId
);
return
manufacturerInfoPO
.
getCode
();
}
return
null
;
}
/**
* 通过路口编号获取路口信息
*
* @param crossId
* @return
*/
public
CrossInfoPO
getCrossInfoPO
(
String
crossId
)
{
if
(!
CollectionUtils
.
isEmpty
(
crossInfoList
))
{
for
(
CrossInfoPO
crossInfoPO
:
crossInfoList
)
{
if
(
StringUtils
.
equals
(
crossId
,
crossInfoPO
.
getCode
()))
{
return
crossInfoPO
;
}
}
}
return
null
;
}
@Override
public
void
run
(
String
...
args
)
throws
Exception
{
init
();
}
public
void
init
()
{
List
<
CrossInfoPO
>
crossInfoPOList
=
crossInfoMapper
.
selectAll
();
if
(!
CollectionUtils
.
isEmpty
(
crossInfoPOList
))
{
crossInfoPOList
=
crossInfoPOList
;
}
}
}
signal-utc-service/src/main/java/net/wanji/utc/cache/UtcFeignClientCache.java
View file @
ea99c7de
...
...
@@ -20,8 +20,7 @@ public class UtcFeignClientCache implements CommandLineRunner {
public
UtcFeignCommon
getUtcFeignClientService
(
String
name
)
{
if
(!
utcFeignClientsMap
.
isEmpty
())
{
UtcFeignCommon
utcFeignCommon
=
utcFeignClientsMap
.
get
(
name
);
return
utcFeignCommon
;
return
utcFeignClientsMap
.
get
(
name
);
}
return
null
;
}
...
...
signal-utc-service/src/main/java/net/wanji/utc/controller/SignalStatusController.java
View file @
ea99c7de
...
...
@@ -42,7 +42,7 @@ public class SignalStatusController {
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
SignalStatusLogPO
.
class
)
})
public
JsonViewObject
runningStatusAlarm
()
{
public
JsonViewObject
runningStatusAlarm
()
throws
Exception
{
List
<
SignalStatusLogPO
>
signalStatusLogPOList
=
signalStatusService
.
runningStatusAlarm
();
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
...
...
@@ -57,7 +57,7 @@ public class SignalStatusController {
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
LightsStatusVO
.
class
)
})
public
JsonViewObject
lightStatus
()
{
public
JsonViewObject
lightStatus
()
throws
Exception
{
List
<
LightsStatusVO
>
lightsStatusVOList
=
signalStatusService
.
lightStatus
();
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
...
...
signal-utc-service/src/main/java/net/wanji/utc/service/control/impl/ControlCommandStrategyServiceImpl.java
View file @
ea99c7de
...
...
@@ -5,8 +5,8 @@ import net.wanji.common.framework.rest.JsonViewObject;
import
net.wanji.databus.dao.entity.*
;
import
net.wanji.databus.dao.mapper.*
;
import
net.wanji.databus.po.CrossInfoPO
;
import
net.wanji.databus.po.ManufacturerInfoPO
;
import
net.wanji.databus.vo.*
;
import
net.wanji.utc.cache.CrossInfoCache
;
import
net.wanji.utc.common.typeenum.BasicEnum
;
import
net.wanji.utc.common.typeenum.DateStyle
;
import
net.wanji.utc.po.hk.request.DelBaseConfigPO
;
...
...
@@ -42,28 +42,14 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
private
final
CrossSectionMapper
crossSectionMapper
;
private
final
CrossPlanMapper
crossPlanMapper
;
private
final
CrossSchedulesMapper
crossSchedulesMapper
;
private
final
CrossInfoCache
crossInfoCache
;
/**
* 通过路口编号获取厂商编码
*
* @param crossId
* @return
*/
public
String
getManufacturerCodeByCrossId
(
String
crossId
)
throws
Exception
{
CrossInfoPO
crossInfoPO
=
crossInfoMapper
.
selectByPrimaryKey
(
crossId
);
if
(
Objects
.
isNull
(
crossInfoPO
))
{
throw
new
Exception
(
"当前路口信息不存在!"
);
}
Integer
manufacturerId
=
crossInfoPO
.
getManufacturerId
();
ManufacturerInfoPO
manufacturerInfoPO
=
manufacturerInfoMapper
.
selectById
(
manufacturerId
);
return
manufacturerInfoPO
.
getCode
();
}
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
JsonViewObject
schemeSendStrategy
(
SchemeSendVO
schemeSendVO
)
throws
Exception
{
JsonViewObject
jsonViewObject
;
String
manufacturerIdCode
=
getManufacturerCodeByCrossId
(
schemeSendVO
.
getCrossCode
());
String
manufacturerIdCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
schemeSendVO
.
getCrossCode
());
if
(
StringUtils
.
equals
(
BasicEnum
.
ManufacturerEnum
.
HK
.
getCode
(),
manufacturerIdCode
))
{
jsonViewObject
=
hkControlCommandService
.
schemeSend
(
schemeSendVO
);
}
else
{
...
...
@@ -122,7 +108,7 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
JsonViewObject
planSendStrategy
(
PlanSendVO
planSendVO
)
throws
Exception
{
JsonViewObject
jsonViewObject
;
String
manufacturerIdCode
=
getManufacturerCodeByCrossId
(
planSendVO
.
getCrossCode
());
String
manufacturerIdCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
planSendVO
.
getCrossCode
());
if
(
StringUtils
.
equals
(
BasicEnum
.
ManufacturerEnum
.
HK
.
getCode
(),
manufacturerIdCode
))
{
jsonViewObject
=
hkControlCommandService
.
planSend
(
planSendVO
);
}
else
{
...
...
@@ -163,7 +149,7 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
JsonViewObject
scheduleSendStrategy
(
ScheduleSendVO
scheduleSendVO
)
throws
Exception
{
JsonViewObject
jsonViewObject
;
String
manufacturerIdCode
=
getManufacturerCodeByCrossId
(
scheduleSendVO
.
getCrossCode
());
String
manufacturerIdCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
scheduleSendVO
.
getCrossCode
());
if
(
StringUtils
.
equals
(
BasicEnum
.
ManufacturerEnum
.
HK
.
getCode
(),
manufacturerIdCode
))
{
jsonViewObject
=
hkControlCommandService
.
scheduleSend
(
scheduleSendVO
);
}
else
{
...
...
@@ -214,7 +200,7 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
@Override
public
JsonViewObject
lockControlStrategy
(
ControlCommandVO
commandVO
)
throws
Exception
{
JsonViewObject
jsonViewObject
;
String
manufacturerIdCode
=
getManufacturerCodeByCrossId
(
commandVO
.
getCrossCode
());
String
manufacturerIdCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
commandVO
.
getCrossCode
());
if
(
StringUtils
.
equals
(
BasicEnum
.
ManufacturerEnum
.
HK
.
getCode
(),
manufacturerIdCode
))
{
jsonViewObject
=
hkControlCommandService
.
lockControl
(
commandVO
);
}
else
{
...
...
@@ -226,7 +212,7 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
@Override
public
JsonViewObject
stepControlStrategy
(
String
crossId
,
Integer
command
,
Integer
stepNum
)
throws
Exception
{
JsonViewObject
jsonViewObject
;
String
manufacturerIdCode
=
getManufacturerCodeByCrossId
(
crossId
);
String
manufacturerIdCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
crossId
);
if
(
StringUtils
.
equals
(
BasicEnum
.
ManufacturerEnum
.
HK
.
getCode
(),
manufacturerIdCode
))
{
jsonViewObject
=
hkControlCommandService
.
stepControl
(
crossId
,
command
,
stepNum
);
}
else
{
...
...
@@ -238,7 +224,7 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
@Override
public
JsonViewObject
setSignalControlStrategy
(
String
crossId
,
Integer
command
,
Integer
commandType
)
throws
Exception
{
JsonViewObject
jsonViewObject
;
String
manufacturerIdCode
=
getManufacturerCodeByCrossId
(
crossId
);
String
manufacturerIdCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
crossId
);
if
(
StringUtils
.
equals
(
BasicEnum
.
ManufacturerEnum
.
HK
.
getCode
(),
manufacturerIdCode
))
{
jsonViewObject
=
hkControlCommandService
.
setSignalControl
(
crossId
,
command
,
commandType
);
}
else
{
...
...
@@ -253,7 +239,7 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
if
(
StringUtils
.
isBlank
(
crossId
))
{
return
jsonViewObject
.
fail
(
"路口编号不能为空"
);
}
String
manufacturerIdCode
=
getManufacturerCodeByCrossId
(
crossId
);
String
manufacturerIdCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
crossId
);
if
(
StringUtils
.
equals
(
BasicEnum
.
ManufacturerEnum
.
HK
.
getCode
(),
manufacturerIdCode
))
{
jsonViewObject
=
hkControlCommandService
.
recoverSchedule
(
crossId
);
}
else
{
...
...
@@ -265,7 +251,7 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
@Override
public
JsonViewObject
phaseTimingSendStrategy
(
PhaseTimingSendVO
phaseTimingSendVO
)
throws
Exception
{
JsonViewObject
jsonViewObject
;
String
manufacturerIdCode
=
getManufacturerCodeByCrossId
(
phaseTimingSendVO
.
getCrossCode
());
String
manufacturerIdCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
phaseTimingSendVO
.
getCrossCode
());
if
(
StringUtils
.
equals
(
BasicEnum
.
ManufacturerEnum
.
HK
.
getCode
(),
manufacturerIdCode
))
{
jsonViewObject
=
hkControlCommandService
.
phaseTimingSend
(
phaseTimingSendVO
);
}
else
{
...
...
@@ -280,7 +266,7 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
}
@Override
public
JsonViewObject
delBaseConfig
(
DelBaseConfigVO
delBaseConfigVO
)
throws
Exception
{
public
JsonViewObject
delBaseConfig
(
DelBaseConfigVO
delBaseConfigVO
)
throws
Exception
{
// 通过路口编号获取信号机编号
String
crossId
=
delBaseConfigVO
.
getCrossId
();
CrossInfoPO
crossInfoPO
=
crossInfoMapper
.
selectByPrimaryKey
(
crossId
);
...
...
@@ -293,7 +279,7 @@ public class ControlCommandStrategyServiceImpl implements ControlCommandStrategy
delBaseConfigPO
.
setType
(
delBaseConfigVO
.
getType
());
delBaseConfigPO
.
setIds
(
delBaseConfigVO
.
getIds
());
// 通过厂商编码调用删除服务
String
manufacturer
=
getManufacturerCodeByCrossId
(
crossId
);
String
manufacturer
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
crossId
);
JsonViewObject
jsonViewObject
;
if
(
StringUtils
.
equals
(
BasicEnum
.
ManufacturerEnum
.
HK
.
getCode
(),
manufacturer
))
{
jsonViewObject
=
hkControlCommandService
.
delBaseConfig
(
delBaseConfigPO
);
...
...
signal-utc-service/src/main/java/net/wanji/utc/service/control/impl/WanJiControlCommandServiceImpl.java
View file @
ea99c7de
package
net
.
wanji
.
utc
.
service
.
control
.
impl
;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.RequiredArgsConstructor
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.databus.vo.*
;
import
net.wanji.feign.service.common.UtcFeignCommon
;
import
net.wanji.utc.cache.CrossInfoCache
;
import
net.wanji.utc.cache.UtcFeignClientCache
;
import
net.wanji.utc.common.constant.Constants
;
import
net.wanji.utc.po.hk.request.DelBaseConfigPO
;
import
net.wanji.utc.service.control.ControlCommandService
;
import
net.wanji.utc.util.HttpRestUtil
;
...
...
@@ -13,7 +14,7 @@ import net.wanji.utc.util.StringUtils;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
java.util.
HashMap
;
import
java.util.
Objects
;
/**
* @author duanruiming
...
...
@@ -27,6 +28,7 @@ public class WanJiControlCommandServiceImpl implements ControlCommandService {
@Value
(
"url"
)
private
String
rpcUri
;
private
final
UtcFeignClientCache
utcFeignClientCache
;
private
final
CrossInfoCache
crossInfoCache
;
/**
* @param schemeSendVO
...
...
@@ -35,7 +37,8 @@ public class WanJiControlCommandServiceImpl implements ControlCommandService {
*/
@Override
public
JsonViewObject
schemeSend
(
SchemeSendVO
schemeSendVO
)
throws
Exception
{
JsonViewObject
jsonViewObject
=
rpcService
(
httpRestUtil
,
rpcUri
,
null
,
JSONObject
.
toJSONString
(
schemeSendVO
));
String
manufacturerIdCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
schemeSendVO
.
getCrossCode
());
JsonViewObject
jsonViewObject
=
utcFeignClientCache
.
getUtcFeignClientService
(
manufacturerIdCode
).
schemeSend
(
schemeSendVO
);
if
(
StringUtils
.
endsWithIgnoreCase
(
"success"
,
jsonViewObject
.
getStatus
()))
{
return
jsonViewObject
.
success
(
"万集标准协议下发方案成功!"
);
}
...
...
@@ -44,7 +47,8 @@ public class WanJiControlCommandServiceImpl implements ControlCommandService {
@Override
public
JsonViewObject
planSend
(
PlanSendVO
planSendVO
)
throws
Exception
{
JsonViewObject
jsonViewObject
=
rpcService
(
httpRestUtil
,
rpcUri
,
null
,
JSONObject
.
toJSONString
(
planSendVO
));
String
manufacturerIdCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
planSendVO
.
getCrossCode
());
JsonViewObject
jsonViewObject
=
utcFeignClientCache
.
getUtcFeignClientService
(
manufacturerIdCode
).
planSend
(
planSendVO
);
if
(
StringUtils
.
endsWithIgnoreCase
(
"success"
,
jsonViewObject
.
getStatus
()))
{
return
jsonViewObject
.
success
(
"万集标准协议下发计划成功!"
);
}
...
...
@@ -53,7 +57,8 @@ public class WanJiControlCommandServiceImpl implements ControlCommandService {
@Override
public
JsonViewObject
scheduleSend
(
ScheduleSendVO
scheduleSendVO
)
throws
Exception
{
JsonViewObject
jsonViewObject
=
rpcService
(
httpRestUtil
,
rpcUri
,
null
,
JSONObject
.
toJSONString
(
scheduleSendVO
));
String
manufacturerIdCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
scheduleSendVO
.
getCrossCode
());
JsonViewObject
jsonViewObject
=
utcFeignClientCache
.
getUtcFeignClientService
(
manufacturerIdCode
).
scheduleSend
(
scheduleSendVO
);
if
(
StringUtils
.
endsWithIgnoreCase
(
"success"
,
jsonViewObject
.
getStatus
()))
{
return
jsonViewObject
.
success
(
"万集标准协议下发时间表成功!"
);
}
...
...
@@ -62,7 +67,13 @@ public class WanJiControlCommandServiceImpl implements ControlCommandService {
@Override
public
JsonViewObject
lockControl
(
ControlCommandVO
commandVO
)
throws
Exception
{
JsonViewObject
jsonViewObject
=
rpcService
(
httpRestUtil
,
rpcUri
,
null
,
JSONObject
.
toJSONString
(
commandVO
));
String
manufacturerIdCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
commandVO
.
getCrossCode
());
LockControlVO
lockControlVO
=
new
LockControlVO
();
lockControlVO
.
setCrossCode
(
commandVO
.
getCrossCode
());
lockControlVO
.
setCommand
(
lockControlVO
.
getCommand
());
lockControlVO
.
setDuration
(
commandVO
.
getDuration
());
lockControlVO
.
setPhaseList
(
commandVO
.
getPhaseList
());
JsonViewObject
jsonViewObject
=
utcFeignClientCache
.
getUtcFeignClientService
(
manufacturerIdCode
).
lockControl
(
lockControlVO
);
if
(
StringUtils
.
endsWithIgnoreCase
(
"success"
,
jsonViewObject
.
getStatus
()))
{
return
jsonViewObject
.
success
(
"万集标准协议锁定控制成功!"
);
}
...
...
@@ -71,24 +82,44 @@ public class WanJiControlCommandServiceImpl implements ControlCommandService {
@Override
public
JsonViewObject
stepControl
(
String
crossId
,
Integer
command
,
Integer
stepNum
)
throws
Exception
{
HashMap
<
String
,
Object
>
paraMap
=
new
HashMap
<>();
paraMap
.
put
(
"crossId"
,
crossId
);
paraMap
.
put
(
"command"
,
command
);
paraMap
.
put
(
"stepNum"
,
stepNum
);
JsonViewObject
jsonViewObject
=
rpcService
(
httpRestUtil
,
rpcUri
,
null
,
JSONObject
.
toJSONString
(
paraMap
));
String
manufacturerIdCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
crossId
);
JsonViewObject
jsonViewObject
=
utcFeignClientCache
.
getUtcFeignClientService
(
manufacturerIdCode
).
stepControl
(
crossId
,
command
,
stepNum
);
if
(
StringUtils
.
endsWithIgnoreCase
(
"success"
,
jsonViewObject
.
getStatus
()))
{
return
jsonViewObject
.
success
(
"万集标准协议步进控制成功!"
);
}
return
jsonViewObject
;
}
/**
* 全红黄闪关灯
*
* @param crossId 信号机编号
* @param command 指令 1 开 0 关
* @param commandType 命令类型
* @return
* @throws Exception
*/
@Override
public
JsonViewObject
setSignalControl
(
String
crossId
,
Integer
command
,
Integer
commandType
)
throws
Exception
{
HashMap
<
String
,
Object
>
paraMap
=
new
HashMap
<>();
paraMap
.
put
(
"crossId"
,
crossId
);
paraMap
.
put
(
"command"
,
command
);
paraMap
.
put
(
"commandType"
,
commandType
);
JsonViewObject
jsonViewObject
=
rpcService
(
httpRestUtil
,
rpcUri
,
null
,
JSONObject
.
toJSONString
(
paraMap
));
String
manufacturerIdCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
crossId
);
UtcFeignCommon
utcFeignClientService
=
utcFeignClientCache
.
getUtcFeignClientService
(
manufacturerIdCode
);
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
ControlCommandVO
controlCommandVO
=
new
ControlCommandVO
();
controlCommandVO
.
setCrossCode
(
crossId
);
controlCommandVO
.
setCommand
(
command
);
controlCommandVO
.
setDuration
(
999
);
if
(
Objects
.
equals
(
Constants
.
CLOSE_LIGHT_CONTROL
,
command
))
{
controlCommandVO
.
setControlType
(
Constants
.
CLOSE_LIGHT_CONTROL
);
jsonViewObject
=
utcFeignClientService
.
closeLightControl
(
controlCommandVO
);
}
if
(
Objects
.
equals
(
Constants
.
YELLOW_LIGHT_CONTROL
,
command
))
{
controlCommandVO
.
setControlType
(
Constants
.
YELLOW_LIGHT_CONTROL
);
jsonViewObject
=
utcFeignClientService
.
closeLightControl
(
controlCommandVO
);
}
if
(
Objects
.
equals
(
Constants
.
ALL_RED_CONTROL
,
command
))
{
controlCommandVO
.
setControlType
(
Constants
.
ALL_RED_CONTROL
);
jsonViewObject
=
utcFeignClientService
.
closeLightControl
(
controlCommandVO
);
}
if
(
StringUtils
.
endsWithIgnoreCase
(
"success"
,
jsonViewObject
.
getStatus
()))
{
return
jsonViewObject
.
success
(
"万集标准协议设置信号机控制模式成功!"
);
}
...
...
@@ -97,12 +128,8 @@ public class WanJiControlCommandServiceImpl implements ControlCommandService {
@Override
public
JsonViewObject
recoverSchedule
(
String
crossId
)
throws
Exception
{
HashMap
<
String
,
Object
>
paraMap
=
new
HashMap
<>();
paraMap
.
put
(
"crossId"
,
crossId
);
// JsonViewObject jsonViewObject = rpcService(httpRestUtil, rpcUri, null, JSONObject.toJSONString(paraMap));
UtcFeignCommon
dtService
=
utcFeignClientCache
.
getUtcFeignClientService
(
"DT"
);
JsonViewObject
jsonViewObject
=
dtService
.
recoverSchedule
(
crossId
);
// .recoverSchedule(crossId);
String
manufacturerIdCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
crossId
);
JsonViewObject
jsonViewObject
=
utcFeignClientCache
.
getUtcFeignClientService
(
manufacturerIdCode
).
recoverSchedule
(
crossId
);
if
(
StringUtils
.
endsWithIgnoreCase
(
"success"
,
jsonViewObject
.
getStatus
()))
{
return
jsonViewObject
.
success
(
"万集标准协议恢复时间表成功!"
);
}
...
...
@@ -111,7 +138,8 @@ public class WanJiControlCommandServiceImpl implements ControlCommandService {
@Override
public
JsonViewObject
phaseTimingSend
(
PhaseTimingSendVO
phaseTimingSendVO
)
throws
Exception
{
JsonViewObject
jsonViewObject
=
rpcService
(
httpRestUtil
,
rpcUri
,
null
,
JSONObject
.
toJSONString
(
phaseTimingSendVO
));
String
manufacturerIdCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
phaseTimingSendVO
.
getCrossCode
());
JsonViewObject
jsonViewObject
=
utcFeignClientCache
.
getUtcFeignClientService
(
manufacturerIdCode
).
recoverSchedule
(
phaseTimingSendVO
.
getCrossCode
());
if
(
StringUtils
.
endsWithIgnoreCase
(
"success"
,
jsonViewObject
.
getStatus
()))
{
return
jsonViewObject
.
success
(
"万集标准协议下发相位配时成功!"
);
}
...
...
signal-utc-service/src/main/java/net/wanji/utc/service/runninginfo/SignalStatusService.java
View file @
ea99c7de
...
...
@@ -10,16 +10,17 @@ import java.util.List;
* @date 2022/11/21 9:09
*/
public
interface
SignalStatusService
{
List
<
SignalStatusLogPO
>
runningStatusAlarm
();
List
<
SignalStatusLogPO
>
runningStatusAlarm
()
throws
Exception
;
/**
* todo 提供给其他平台,需要确认以厂商还是以路口形式推送数据
*
* @param crossId
* @return
*/
List
<
SignalStatusLogPO
>
runningStatusAlarm
(
String
crossId
);
List
<
LightsStatusVO
>
lightStatus
();
List
<
LightsStatusVO
>
lightStatus
()
throws
Exception
;
List
<
LightsStatusVO
>
lightStatus
(
String
crossId
);
List
<
LightsStatusVO
>
lightStatus
(
String
crossId
)
throws
Exception
;
}
signal-utc-service/src/main/java/net/wanji/utc/service/runninginfo/WanJiCommonRunningStatusService.java
View file @
ea99c7de
...
...
@@ -16,7 +16,7 @@ public interface WanJiCommonRunningStatusService extends RpcService {
* @param crossIdList
* @return
*/
List
<
SignalStatusLogPO
>
runningStatus
(
List
<
String
>
crossIdList
);
List
<
SignalStatusLogPO
>
runningStatus
(
List
<
String
>
crossIdList
)
throws
Exception
;
/**
...
...
@@ -24,5 +24,5 @@ public interface WanJiCommonRunningStatusService extends RpcService {
* @param crossIdList
* @return
*/
List
<
LightsStatusVO
>
lightsStatus
(
List
<
String
>
crossIdList
);
List
<
LightsStatusVO
>
lightsStatus
(
List
<
String
>
crossIdList
)
throws
Exception
;
}
signal-utc-service/src/main/java/net/wanji/utc/service/runninginfo/impl/SignalStatusServiceImpl.java
View file @
ea99c7de
...
...
@@ -44,7 +44,7 @@ public class SignalStatusServiceImpl implements SignalStatusService {
@Override
@Transactional
public
List
<
SignalStatusLogPO
>
runningStatusAlarm
()
{
public
List
<
SignalStatusLogPO
>
runningStatusAlarm
()
throws
Exception
{
List
<
SignalStatusLogPO
>
resList
=
new
ArrayList
<>();
BasicEnum
.
ManufacturerEnum
[]
manufacturerEnums
=
BasicEnum
.
ManufacturerEnum
.
values
();
for
(
BasicEnum
.
ManufacturerEnum
manufacturerEnum
:
manufacturerEnums
)
{
...
...
@@ -87,7 +87,7 @@ public class SignalStatusServiceImpl implements SignalStatusService {
}
@Override
public
List
<
LightsStatusVO
>
lightStatus
(
String
crossId
)
{
public
List
<
LightsStatusVO
>
lightStatus
(
String
crossId
)
throws
Exception
{
List
<
LightsStatusVO
>
lightsStatusVOList
=
new
ArrayList
<>();
String
manufacturerCode
=
getManufacturerCode
(
crossId
);
if
(
Objects
.
equals
(
BasicEnum
.
ManufacturerEnum
.
HK
.
getCode
(),
manufacturerCode
))
{
...
...
@@ -114,7 +114,7 @@ public class SignalStatusServiceImpl implements SignalStatusService {
@Override
@Transactional
public
List
<
LightsStatusVO
>
lightStatus
()
{
public
List
<
LightsStatusVO
>
lightStatus
()
throws
Exception
{
List
<
LightsStatusVO
>
resList
=
new
ArrayList
<>();
BasicEnum
.
ManufacturerEnum
[]
manufacturerEnums
=
BasicEnum
.
ManufacturerEnum
.
values
();
for
(
BasicEnum
.
ManufacturerEnum
manufacturerEnum
:
manufacturerEnums
)
{
...
...
signal-utc-service/src/main/java/net/wanji/utc/service/runninginfo/impl/WanJiCommonRunningStatusServiceImpl.java
View file @
ea99c7de
package
net
.
wanji
.
utc
.
service
.
runninginfo
.
impl
;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.databus.po.SignalStatusLogPO
;
import
net.wanji.databus.vo.LightsStatusVO
;
import
net.wanji.utc.cache.CrossInfoCache
;
import
net.wanji.utc.cache.UtcFeignClientCache
;
import
net.wanji.utc.service.runninginfo.WanJiCommonRunningStatusService
;
import
net.wanji.utc.util.HttpRestUtil
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
/**
* @author duanruiming
...
...
@@ -26,18 +26,36 @@ public class WanJiCommonRunningStatusServiceImpl implements WanJiCommonRunningSt
private
final
HttpRestUtil
httpRestUtil
;
@Value
(
"url"
)
private
String
rpcUri
;
private
final
CrossInfoCache
crossInfoCache
;
private
final
UtcFeignClientCache
utcFeignClientCache
;
@Override
public
List
<
SignalStatusLogPO
>
runningStatus
(
List
<
String
>
crossIdList
)
{
JsonViewObject
jsonViewObject
=
rpcService
(
httpRestUtil
,
rpcUri
,
null
,
JSONObject
.
toJSONString
(
crossIdList
));
List
<
SignalStatusLogPO
>
result
=
(
List
<
SignalStatusLogPO
>)
jsonViewObject
.
getContent
();
public
List
<
SignalStatusLogPO
>
runningStatus
(
List
<
String
>
crossIdList
)
throws
Exception
{
Set
<
String
>
set
=
new
HashSet
<>();
for
(
String
crossId
:
crossIdList
)
{
String
manufacturerIdCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
crossId
);
set
.
add
(
manufacturerIdCode
);
}
List
<
SignalStatusLogPO
>
result
=
new
ArrayList
<>();
for
(
String
manufacturerIdCode
:
set
)
{
JsonViewObject
jsonViewObject
=
utcFeignClientCache
.
getUtcFeignClientService
(
manufacturerIdCode
).
runningStatusAlarm
();
result
=
(
List
<
SignalStatusLogPO
>)
jsonViewObject
.
getContent
();
}
return
result
;
}
@Override
public
List
<
LightsStatusVO
>
lightsStatus
(
List
<
String
>
crossIdList
)
{
JsonViewObject
jsonViewObject
=
rpcService
(
httpRestUtil
,
rpcUri
,
null
,
JSONObject
.
toJSONString
(
crossIdList
));
List
<
LightsStatusVO
>
result
=
(
List
<
LightsStatusVO
>)
jsonViewObject
.
getContent
();
public
List
<
LightsStatusVO
>
lightsStatus
(
List
<
String
>
crossIdList
)
throws
Exception
{
Set
<
String
>
set
=
new
HashSet
<>();
for
(
String
crossId
:
crossIdList
)
{
String
manufacturerIdCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
crossId
);
set
.
add
(
manufacturerIdCode
);
}
List
<
LightsStatusVO
>
result
=
new
ArrayList
<>();
for
(
String
manufacturerIdCode
:
set
)
{
JsonViewObject
jsonViewObject
=
utcFeignClientCache
.
getUtcFeignClientService
(
manufacturerIdCode
).
lightStatus
();
result
=
(
List
<
LightsStatusVO
>)
jsonViewObject
.
getContent
();
}
return
result
;
}
...
...
signal-utc-service/src/main/java/net/wanji/utc/service/staticinfo/WanJiCommonStaticInfoService.java
View file @
ea99c7de
...
...
@@ -21,7 +21,7 @@ public interface WanJiCommonStaticInfoService extends RpcService {
* @param signalId
* @return
*/
Result
<
SchemePhaseLightsVO
>
schemePhaseLights
(
String
crossId
,
String
signalId
);
Result
<
SchemePhaseLightsVO
>
schemePhaseLights
(
String
crossId
,
String
signalId
)
throws
Exception
;
/**
* 静态参数,获取计划数据-计划信息、时段信息
...
...
@@ -30,7 +30,7 @@ public interface WanJiCommonStaticInfoService extends RpcService {
* @param signalId
* @return
*/
Result
<
PlanSectionVO
>
planSection
(
String
crossId
,
String
signalId
,
Integer
planNo
);
Result
<
PlanSectionVO
>
planSection
(
String
crossId
,
String
signalId
,
Integer
planNo
)
throws
Exception
;
/**
* 静态参数,获取时间表数据
...
...
@@ -38,5 +38,5 @@ public interface WanJiCommonStaticInfoService extends RpcService {
* @param signalId
* @return
*/
Result
<
List
<
CrossSchedulesPO
>>
schedules
(
String
crossId
,
String
signalId
);
Result
<
List
<
CrossSchedulesPO
>>
schedules
(
String
crossId
,
String
signalId
)
throws
Exception
;
}
signal-utc-service/src/main/java/net/wanji/utc/service/staticinfo/impl/WanJiCommonStaticInfoServiceImpl.java
View file @
ea99c7de
package
net
.
wanji
.
utc
.
service
.
staticinfo
.
impl
;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.databus.dao.entity.*
;
import
net.wanji.databus.dao.mapper.*
;
import
net.wanji.databus.dto.CrossSchedulesDTO
;
import
net.wanji.databus.dto.PlanSectionDTO
;
import
net.wanji.databus.vo.CrossIdVO
;
import
net.wanji.databus.vo.PlanSectionVO
;
import
net.wanji.databus.vo.SchemePhaseLightsVO
;
import
net.wanji.utc.cache.CrossInfoCache
;
import
net.wanji.utc.cache.UtcFeignClientCache
;
import
net.wanji.utc.common.Result
;
import
net.wanji.utc.service.staticinfo.WanJiCommonStaticInfoService
;
import
net.wanji.utc.util.HttpRestUtil
;
...
...
@@ -15,10 +19,7 @@ import org.springframework.beans.factory.annotation.Value;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.*
;
/**
* @author duanruiming
...
...
@@ -39,12 +40,16 @@ public class WanJiCommonStaticInfoServiceImpl implements WanJiCommonStaticInfoSe
private
final
CrossPlanMapper
crossPlanMapper
;
private
final
CrossSectionMapper
crossSectionMapper
;
private
final
CrossSchedulesMapper
crossSchedulesMapper
;
private
final
CrossInfoCache
crossInfoCache
;
private
final
UtcFeignClientCache
utcFeignClientCache
;
@Override
public
Result
<
SchemePhaseLightsVO
>
schemePhaseLights
(
String
crossId
,
String
signalId
)
{
Map
<
String
,
String
>
commonParamMap
=
getCommonParamMap
(
crossId
,
signalId
);
JsonViewObject
jsonViewObject
=
rpcService
(
httpRestUtil
,
rpcUri
,
null
,
JSONObject
.
toJSONString
(
commonParamMap
));
public
Result
<
SchemePhaseLightsVO
>
schemePhaseLights
(
String
crossId
,
String
signalId
)
throws
Exception
{
String
manufacturerIdCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
crossId
);
CrossIdVO
crossIdVO
=
new
CrossIdVO
();
crossIdVO
.
setCrossId
(
crossId
);
JsonViewObject
jsonViewObject
=
utcFeignClientCache
.
getUtcFeignClientService
(
manufacturerIdCode
).
schemePhaseLights
(
crossIdVO
);
SchemePhaseLightsVO
content
=
(
SchemePhaseLightsVO
)
jsonViewObject
.
getContent
();
if
(
Objects
.
nonNull
(
content
))
{
List
<
BaseCrossSchemePO
>
crossSchemeList
=
content
.
getCrossSchemeList
();
...
...
@@ -73,12 +78,13 @@ public class WanJiCommonStaticInfoServiceImpl implements WanJiCommonStaticInfoSe
}
@Override
public
Result
<
PlanSectionVO
>
planSection
(
String
crossId
,
String
signalId
,
Integer
planNo
)
{
Map
<
String
,
String
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"crossId"
,
crossId
);
paramMap
.
put
(
"planNo"
,
String
.
valueOf
(
planNo
));
paramMap
.
put
(
"signalId"
,
signalId
);
JsonViewObject
jsonViewObject
=
rpcService
(
httpRestUtil
,
rpcUri
,
null
,
JSONObject
.
toJSONString
(
paramMap
));
public
Result
<
PlanSectionVO
>
planSection
(
String
crossId
,
String
signalId
,
Integer
planNo
)
throws
Exception
{
String
manufacturerIdCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
crossId
);
PlanSectionDTO
planSectionDTO
=
new
PlanSectionDTO
();
planSectionDTO
.
setCrossId
(
crossId
);
planSectionDTO
.
setPlanNo
(
planNo
);
JsonViewObject
jsonViewObject
=
utcFeignClientCache
.
getUtcFeignClientService
(
manufacturerIdCode
).
planSection
(
planSectionDTO
);
PlanSectionVO
content
=
(
PlanSectionVO
)
jsonViewObject
.
getContent
();
if
(
Objects
.
nonNull
(
content
))
{
if
(
Objects
.
nonNull
(
content
))
{
...
...
@@ -99,9 +105,12 @@ public class WanJiCommonStaticInfoServiceImpl implements WanJiCommonStaticInfoSe
}
@Override
public
Result
<
List
<
CrossSchedulesPO
>>
schedules
(
String
crossId
,
String
signalId
)
{
Map
<
String
,
String
>
commonParamMap
=
getCommonParamMap
(
crossId
,
signalId
);
JsonViewObject
jsonViewObject
=
rpcService
(
httpRestUtil
,
rpcUri
,
null
,
JSONObject
.
toJSONString
(
commonParamMap
));
public
Result
<
List
<
CrossSchedulesPO
>>
schedules
(
String
crossId
,
String
signalId
)
throws
Exception
{
String
manufacturerIdCode
=
crossInfoCache
.
getManufacturerCodeByCrossId
(
crossId
);
CrossSchedulesDTO
crossSchedulesDTO
=
new
CrossSchedulesDTO
();
crossSchedulesDTO
.
setManufacturerCode
(
manufacturerIdCode
);
crossSchedulesDTO
.
setCrossIdList
(
Arrays
.
asList
(
crossId
));
JsonViewObject
jsonViewObject
=
utcFeignClientCache
.
getUtcFeignClientService
(
manufacturerIdCode
).
crossSchedules
(
crossSchedulesDTO
);
List
<
CrossSchedulesPO
>
content
=
(
List
<
CrossSchedulesPO
>)
jsonViewObject
.
getContent
();
if
(
Objects
.
nonNull
(
content
))
{
if
(!
CollectionUtils
.
isEmpty
(
content
))
{
...
...
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