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
a2f85eae
Commit
a2f85eae
authored
Nov 18, 2024
by
duanruiming
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
# Conflicts: # signal-utc-hisense-service/pom.xml
parents
245eca7b
f4a0ddd6
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
73 additions
and
6 deletions
+73
-6
pom.xml
signal-utc-hisense-service/pom.xml
+1
-1
HttpConstants.java
...net/wanji/utc/hisense/common/constants/HttpConstants.java
+2
-0
SignalStatusController.java
.../wanji/utc/hisense/controller/SignalStatusController.java
+7
-1
SignalStatusService.java
...va/net/wanji/utc/hisense/service/SignalStatusService.java
+2
-1
SignalStatusServiceImpl.java
...nji/utc/hisense/service/impl/SignalStatusServiceImpl.java
+60
-2
StaticInfoServiceImpl.java
...wanji/utc/hisense/service/impl/StaticInfoServiceImpl.java
+1
-1
No files found.
signal-utc-hisense-service/pom.xml
View file @
a2f85eae
...
...
@@ -346,7 +346,7 @@
<addClasspath>
true
</addClasspath>
<!--<classpathPrefix>lib/</classpathPrefix>-->
<classpathPrefix></classpathPrefix>
<mainClass>
net.wanji.utc.hisense.HisenseApplication
</mainClass>
<mainClass>
net.wanji.utc.hisense.HisenseApplication
</mainClass>
</manifest>
<manifestEntries>
<Class-Path>
../resources/
</Class-Path>
...
...
signal-utc-hisense-service/src/main/java/net/wanji/utc/hisense/common/constants/HttpConstants.java
View file @
a2f85eae
...
...
@@ -33,6 +33,8 @@ public class HttpConstants {
public
static
final
String
SPLIT
=
"Split"
;
//5.7协调状态 获取方案号
public
static
final
String
MESSAGETYPE_12
=
"12"
;
//5.4. 联机状态
public
static
final
String
MESSAGETYPE_3
=
"3"
;
//5.16. 方案优化控制 - 设置临时方案
public
static
final
String
MESSAGETYPE_39
=
"39"
;
//5.10. 手动方案控制- 恢复固定配时
...
...
signal-utc-hisense-service/src/main/java/net/wanji/utc/hisense/controller/SignalStatusController.java
View file @
a2f85eae
...
...
@@ -19,6 +19,7 @@ import net.wanji.databus.po.SignalStatusLogPO;
import
net.wanji.databus.vo.LightsStatusVO
;
import
net.wanji.utc.hisense.pojo.convert.HisenseLightStatusPojo
;
import
net.wanji.utc.hisense.service.SignalStatusService
;
import
org.dom4j.DocumentException
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -48,7 +49,12 @@ public class SignalStatusController {
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
SignalStatusLogPO
.
class
)
})
public
JsonViewObject
runningStatusAlarm
(
String
crossId
)
{
List
<
SignalStatusLogPO
>
signalStatusLogPOList
=
signalStatusService
.
runningStatusAlarm
(
crossId
);
List
<
SignalStatusLogPO
>
signalStatusLogPOList
=
null
;
try
{
signalStatusLogPOList
=
signalStatusService
.
runningStatusAlarm
(
crossId
);
}
catch
(
DocumentException
e
)
{
throw
new
RuntimeException
(
e
);
}
return
JsonViewObject
.
newInstance
().
success
(
signalStatusLogPOList
);
}
...
...
signal-utc-hisense-service/src/main/java/net/wanji/utc/hisense/service/SignalStatusService.java
View file @
a2f85eae
...
...
@@ -3,6 +3,7 @@ package net.wanji.utc.hisense.service;
import
net.wanji.databus.po.SignalStatusLogPO
;
import
net.wanji.databus.vo.LightsStatusVO
;
import
net.wanji.utc.hisense.pojo.convert.HisenseLightStatusPojo
;
import
org.dom4j.DocumentException
;
import
java.util.List
;
...
...
@@ -18,7 +19,7 @@ public interface SignalStatusService {
* @param crossId
* @return
*/
List
<
SignalStatusLogPO
>
runningStatusAlarm
(
String
crossId
);
List
<
SignalStatusLogPO
>
runningStatusAlarm
(
String
crossId
)
throws
DocumentException
;
List
<
LightsStatusVO
>
lightStatus
(
String
crossId
);
void
receiveLightStatus
(
List
<
HisenseLightStatusPojo
>
hisenseLightStatusPojos
)
throws
Exception
;
...
...
signal-utc-hisense-service/src/main/java/net/wanji/utc/hisense/service/impl/SignalStatusServiceImpl.java
View file @
a2f85eae
...
...
@@ -6,6 +6,7 @@ import lombok.extern.slf4j.Slf4j;
import
net.wanji.common.utils.tool.JacksonUtils
;
import
net.wanji.common.utils.tool.StringUtils
;
import
net.wanji.databus.dao.entity.CrossLightsPO
;
import
net.wanji.databus.dao.mapper.CrossInfoMapper
;
import
net.wanji.databus.po.CrossInfoPO
;
import
net.wanji.databus.po.SignalStatusLogPO
;
import
net.wanji.databus.vo.LightsStatusVO
;
...
...
@@ -13,6 +14,8 @@ import net.wanji.utc.hisense.cache.CrossInfoCache;
import
net.wanji.utc.hisense.cache.CrossPhaseDirTurnCache
;
import
net.wanji.utc.hisense.cache.CrossSchemePhaseTimeCountCache
;
import
net.wanji.utc.hisense.cache.SignalDataCache
;
import
net.wanji.utc.hisense.common.OperationBaseDom
;
import
net.wanji.utc.hisense.common.constants.HttpConstants
;
import
net.wanji.utc.hisense.common.enums.CrossLisghtsLaneDirEnum
;
import
net.wanji.utc.hisense.common.enums.DataBrainControlModeEnum
;
import
net.wanji.utc.hisense.pojo.CrossPhaseDirTurnPojo
;
...
...
@@ -21,11 +24,17 @@ import net.wanji.utc.hisense.pojo.dto.CrossSchemePhaseCountDownDTO;
import
net.wanji.utc.hisense.pojo.dto.PhaseCountDownDTO
;
import
net.wanji.utc.hisense.service.SignalStatusService
;
import
net.wanji.utc.hisense.util.OkHttpClientUtil
;
import
net.wanji.utc.hisense.util.OkHttpClientUtil
;
import
org.dom4j.Document
;
import
org.dom4j.DocumentException
;
import
org.dom4j.DocumentHelper
;
import
org.dom4j.Element
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
javax.annotation.Resource
;
import
java.util.*
;
import
java.util.stream.Collectors
;
...
...
@@ -36,6 +45,10 @@ import java.util.stream.Collectors;
@Service
@Slf4j
public
class
SignalStatusServiceImpl
implements
SignalStatusService
{
@Value
(
"${hisense.url}"
)
private
String
hisenseUrl
;
@Resource
private
CrossInfoMapper
crossInfoMapper
;
@Value
(
"${hisenseLightsStatus.shensiUrl}"
)
private
String
shensiUrl
;
...
...
@@ -43,12 +56,56 @@ public class SignalStatusServiceImpl implements SignalStatusService {
private
String
baiduUrl
;
@Override
public
List
<
SignalStatusLogPO
>
runningStatusAlarm
(
String
crossId
)
{
public
List
<
SignalStatusLogPO
>
runningStatusAlarm
(
String
crossId
)
throws
DocumentException
{
//从缓存中拿路口信息
CrossInfoPO
crossInfoPO
=
CrossInfoCache
.
getCrossInfoCache
().
get
(
crossId
);
//组装document
Document
document
=
OperationBaseDom
.
generateBaseDoc
();
Element
element
=
(
Element
)
document
.
selectSingleNode
(
HttpConstants
.
SYSTEMSCRIPTION
);
element
.
addElement
(
HttpConstants
.
MESSAGETYPE
).
setText
(
HttpConstants
.
MESSAGETYPE_3
);
Element
messageContent
=
(
Element
)
document
.
selectSingleNode
(
HttpConstants
.
SYSTEMSCRIPTION_MESSAGECONTENT
);
messageContent
.
addElement
(
HttpConstants
.
SPOT
).
setText
(
crossInfoPO
.
getCode
());
List
<
SignalStatusLogPO
>
list
=
new
ArrayList
<>();
//给海信发送http请求
String
post
=
OkHttpClientUtil
.
xmlPost
(
hisenseUrl
,
document
.
asXML
());
if
(
StringUtils
.
isBlank
(
post
))
{
log
.
error
(
"请求 5.4. 联机状态 失败"
);
return
null
;
}
Document
postResult
=
DocumentHelper
.
parseText
(
post
);
String
result
=
postResult
.
selectSingleNode
(
HttpConstants
.
SYSTEMSCRIPTION_RESULT
).
getText
();
if
(
HttpConstants
.
RESULT_1
.
equals
(
result
))
{
//成功
String
spot
=
postResult
.
selectSingleNode
(
HttpConstants
.
SYSTEMSCRIPTION_MESSAGECONTENT
).
valueOf
(
"Spot"
);
//Status:联机状态。0-离线,1-在线。
String
status
=
postResult
.
selectSingleNode
(
HttpConstants
.
SYSTEMSCRIPTION_MESSAGECONTENT
).
valueOf
(
"Status"
);
SignalStatusLogPO
signalStatusLogPO
=
new
SignalStatusLogPO
();
signalStatusLogPO
.
setCrossId
(
crossId
);
signalStatusLogPO
.
setSignalId
(
crossInfoPO
.
getCode
());
signalStatusLogPO
.
setStatus
(
Integer
.
valueOf
(
status
));
if
(
"1"
.
equals
(
status
))
{
signalStatusLogPO
.
setFaultType
(
0
);
}
else
{
signalStatusLogPO
.
setFaultType
(
5
);
}
signalStatusLogPO
.
setControlType
(
null
);
signalStatusLogPO
.
setGmtCreate
(
null
);
list
.
add
(
signalStatusLogPO
);
return
list
;
}
else
{
//失败
log
.
error
(
"请求 5.4. 联机状态 失败"
);
}
return
null
;
}
/**
* http 形式
*
* @param crossId
* @return
*/
...
...
@@ -141,7 +198,8 @@ public class SignalStatusServiceImpl implements SignalStatusService {
if
(!
CollectionUtils
.
isEmpty
(
hisenseLightStatusPojos
))
{
for
(
HisenseLightStatusPojo
hisenseLightStatusPojo
:
hisenseLightStatusPojos
)
{
String
bodyStr
=
hisenseLightStatusPojo
.
getBody
();
List
<
HisenseLightStatusPojo
.
Body
>
bodies
=
jackson
.
readValue
(
bodyStr
,
new
TypeReference
<
List
<
HisenseLightStatusPojo
.
Body
>>()
{});
List
<
HisenseLightStatusPojo
.
Body
>
bodies
=
jackson
.
readValue
(
bodyStr
,
new
TypeReference
<
List
<
HisenseLightStatusPojo
.
Body
>>()
{
});
if
(!
CollectionUtils
.
isEmpty
(
bodies
))
{
for
(
HisenseLightStatusPojo
.
Body
body
:
bodies
)
{
HisenseLightStatusPojo
.
ContentBody
content
=
body
.
getContent
();
...
...
signal-utc-hisense-service/src/main/java/net/wanji/utc/hisense/service/impl/StaticInfoServiceImpl.java
View file @
a2f85eae
...
...
@@ -616,7 +616,7 @@ public class StaticInfoServiceImpl implements StaticInfoService {
// 计划ID - 取的是时段表号
crossSectionPO
.
setPlanId
(
dayplanDTO
.
getNDayPlanNumber
());
//方案号
Integer
pattern
=
(
dayplanDTO
.
getNTimebaseAscPattern
()+
2
)/
3
;
Integer
pattern
=
dayplanDTO
.
getNTimebaseAscPattern
()
;
if
(
pattern
==
85
)
{
//黃闪
crossSectionPO
.
setControlMode
(
3
);
...
...
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