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
8cd6fd13
Commit
8cd6fd13
authored
Jan 09, 2023
by
duanruiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
万集统一标准接口方案数据:方案信息、相位信息、灯组信息
parent
2daa1d36
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
161 additions
and
8 deletions
+161
-8
application-dev.yml
...al-control-service/src/main/resources/application-dev.yml
+1
-0
WanjiCommonStaticInfoService.java
...anji/utc/service/common/WanjiCommonStaticInfoService.java
+20
-0
WanjiCommonStaticInfoServiceImpl.java
...service/common/impl/WanjiCommonStaticInfoServiceImpl.java
+90
-0
rpcService.java
...rc/main/java/net/wanji/utc/service/common/rpcService.java
+25
-0
StaticInfoServiceImpl.java
...ji/utc/service/staticinfo/impl/StaticInfoServiceImpl.java
+8
-4
HttpRestUtil.java
...ervice/src/main/java/net/wanji/utc/util/HttpRestUtil.java
+15
-4
SchemePhaseLightsVO.java
...e/src/main/java/net/wanji/utc/vo/SchemePhaseLightsVO.java
+2
-0
No files found.
signal-control-service/src/main/resources/application-dev.yml
View file @
8cd6fd13
...
@@ -59,4 +59,5 @@ signal:
...
@@ -59,4 +59,5 @@ signal:
#远程signalUtcService服务地址
#远程signalUtcService服务地址
utcServiceUrl
:
http://10.100.1.59:32000/utc
utcServiceUrl
:
http://10.100.1.59:32000/utc
#utcServiceUrl: http://127.0.0.1:32000/utc
syncDeviceSatusUrn
:
/signalStatus/runningStatusAlarm
syncDeviceSatusUrn
:
/signalStatus/runningStatusAlarm
\ No newline at end of file
signal-utc-service/src/main/java/net/wanji/utc/service/common/WanjiCommonStaticInfoService.java
0 → 100644
View file @
8cd6fd13
package
net
.
wanji
.
utc
.
service
.
common
;
import
net.wanji.utc.common.Result
;
import
net.wanji.utc.vo.SchemePhaseLightsVO
;
/**
* @author duanruiming
* @date 2023/01/09 9:20
*/
public
interface
WanjiCommonStaticInfoService
extends
rpcService
{
/**
* 静态参数,通过路口编号获取万集标准方案数据-方案信息、相位信息、灯组信息
*
* @param crossId
* @param signalId
* @return
*/
Result
<
SchemePhaseLightsVO
>
schemePhaseLights
(
String
crossId
,
String
signalId
);
}
signal-utc-service/src/main/java/net/wanji/utc/service/common/impl/WanjiCommonStaticInfoServiceImpl.java
0 → 100644
View file @
8cd6fd13
package
net
.
wanji
.
utc
.
service
.
common
.
impl
;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.utc.common.Result
;
import
net.wanji.utc.mapper.CrossLightsMapper
;
import
net.wanji.utc.mapper.CrossPhaseLightsMapper
;
import
net.wanji.utc.mapper.CrossPhaseMapper
;
import
net.wanji.utc.mapper.CrossSchemeMapper
;
import
net.wanji.utc.po.CrossLightsPO
;
import
net.wanji.utc.po.CrossPhaseLightsPO
;
import
net.wanji.utc.po.CrossPhasePO
;
import
net.wanji.utc.po.CrossSchemePO
;
import
net.wanji.utc.service.common.WanjiCommonStaticInfoService
;
import
net.wanji.utc.util.HttpRestUtil
;
import
net.wanji.utc.vo.SchemePhaseLightsVO
;
import
org.springframework.beans.factory.annotation.Autowired
;
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
;
/**
* @author duanruiming
* @date 2023/01/09 9:21
*/
@Service
@Slf4j
public
class
WanjiCommonStaticInfoServiceImpl
implements
WanjiCommonStaticInfoService
{
@Autowired
private
HttpRestUtil
httpRestUtil
;
@Value
(
"url"
)
private
String
rpcUri
;
@Autowired
private
CrossSchemeMapper
crossSchemeMapper
;
@Autowired
private
CrossPhaseMapper
crossPhaseMapper
;
@Autowired
private
CrossLightsMapper
crossLightsMapper
;
@Autowired
private
CrossPhaseLightsMapper
crossPhaseLightsMapper
;
@Override
public
Result
<
SchemePhaseLightsVO
>
schemePhaseLights
(
String
crossId
,
String
signalId
)
{
Map
<
String
,
String
>
paramMap
=
new
HashMap
<>(
2
);
paramMap
.
put
(
"crossId"
,
crossId
);
paramMap
.
put
(
"signalId"
,
signalId
);
Result
<
SchemePhaseLightsVO
>
result
=
rpcService
(
rpcUri
,
null
,
JSONObject
.
toJSONString
(
paramMap
),
SchemePhaseLightsVO
.
class
);
if
(
Objects
.
nonNull
(
result
.
getContent
()))
{
SchemePhaseLightsVO
content
=
result
.
getContent
();
List
<
CrossSchemePO
>
crossSchemeList
=
content
.
getCrossSchemeList
();
crossSchemeList
.
forEach
(
crossSchemePO
->
{
crossSchemeMapper
.
deleteOne
(
crossId
,
crossSchemePO
.
getSchemeNo
());
crossSchemeMapper
.
insertOne
(
crossSchemePO
);
});
List
<
CrossPhasePO
>
crossPhaseList
=
content
.
getCrossPhaseList
();
crossPhaseList
.
forEach
(
crossPhasePO
->
{
crossPhaseMapper
.
deleteBatch
(
crossId
,
String
.
valueOf
(
crossPhasePO
.
getPlanId
()));
crossPhaseMapper
.
insertOne
(
crossPhasePO
);
});
List
<
CrossLightsPO
>
crossLightsList
=
content
.
getCrossLightsList
();
crossLightsList
.
forEach
(
crossLightsPO
->
{
crossLightsMapper
.
deleteOne
(
crossId
,
crossLightsPO
.
getName
());
crossLightsMapper
.
insertOne
(
crossLightsPO
);
});
List
<
CrossPhaseLightsPO
>
crossPhaseLightsPOList
=
content
.
getCrossPhaseLightsPOList
();
if
(!
CollectionUtils
.
isEmpty
(
crossPhaseLightsPOList
))
{
crossPhaseLightsMapper
.
deleteByCrossId
(
crossPhaseLightsPOList
.
get
(
0
).
getCrossId
());
crossPhaseLightsMapper
.
insertBatch
(
crossPhaseLightsPOList
);
}
}
return
Result
.
success
();
}
@Override
public
<
T
>
Result
<
T
>
rpcService
(
String
url
,
Map
<
String
,
String
>
headers
,
String
param
,
Class
<
T
>
classType
)
{
Result
<
T
>
result
=
httpRestUtil
.
doPost
(
url
,
headers
,
param
,
Result
.
class
);
if
(
Objects
.
isNull
(
result
)
||
result
.
getState
()
!=
200
)
{
log
.
error
(
"远程服务调用异常,url:"
.
concat
(
rpcUri
));
return
Result
.
error
(
"获取万集标准信号机方案数据远程调用异常!"
);
}
return
result
;
}
}
signal-utc-service/src/main/java/net/wanji/utc/service/common/rpcService.java
0 → 100644
View file @
8cd6fd13
package
net
.
wanji
.
utc
.
service
.
common
;
import
net.wanji.utc.common.Result
;
import
java.util.Map
;
/**
* @author duanruiming
* @date 2023/01/09 9:57
*/
public
interface
rpcService
{
/**
* 远程post调用
* @param url
* @param headers
* @param param
* @param classType
* @return
* @param <T>
*/
default
<
T
>
Result
<
T
>
rpcService
(
String
url
,
Map
<
String
,
String
>
headers
,
String
param
,
Class
<
T
>
classType
)
{
return
Result
.
success
();
}
}
signal-utc-service/src/main/java/net/wanji/utc/service/staticinfo/impl/StaticInfoServiceImpl.java
View file @
8cd6fd13
...
@@ -3,12 +3,13 @@ package net.wanji.utc.service.staticinfo.impl;
...
@@ -3,12 +3,13 @@ package net.wanji.utc.service.staticinfo.impl;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
net.wanji.utc.common.typeenum.BasicEnum
;
import
net.wanji.utc.common.typeenum.BasicEnum
;
import
net.wanji.utc.dto.CrossInfoDTO
;
import
net.wanji.utc.dto.CrossInfoDTO
;
import
net.wanji.utc.mapper.*
;
import
net.wanji.utc.po.*
;
import
net.wanji.utc.service.staticinfo.*
;
import
net.wanji.utc.dto.CrossSchedulesDTO
;
import
net.wanji.utc.dto.CrossSchedulesDTO
;
import
net.wanji.utc.dto.PlanSectionDTO
;
import
net.wanji.utc.dto.PlanSectionDTO
;
import
net.wanji.utc.dto.SchemePhaseLightsDTO
;
import
net.wanji.utc.dto.SchemePhaseLightsDTO
;
import
net.wanji.utc.mapper.*
;
import
net.wanji.utc.po.*
;
import
net.wanji.utc.service.common.WanjiCommonStaticInfoService
;
import
net.wanji.utc.service.staticinfo.*
;
import
net.wanji.utc.vo.PlanSectionVO
;
import
net.wanji.utc.vo.PlanSectionVO
;
import
net.wanji.utc.vo.SchemePhaseLightsVO
;
import
net.wanji.utc.vo.SchemePhaseLightsVO
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -37,6 +38,7 @@ public class StaticInfoServiceImpl implements StaticInfoService {
...
@@ -37,6 +38,7 @@ public class StaticInfoServiceImpl implements StaticInfoService {
private
final
CrossPlanMapper
crossPlanMapper
;
private
final
CrossPlanMapper
crossPlanMapper
;
private
final
CrossSectionMapper
crossSectionMapper
;
private
final
CrossSectionMapper
crossSectionMapper
;
private
final
CrossSchedulesMapper
crossSchedulesMapper
;
private
final
CrossSchedulesMapper
crossSchedulesMapper
;
private
final
WanjiCommonStaticInfoService
wanjiCommonStaticInfoService
;
@Override
@Override
@Transactional
@Transactional
...
@@ -87,8 +89,10 @@ public class StaticInfoServiceImpl implements StaticInfoService {
...
@@ -87,8 +89,10 @@ public class StaticInfoServiceImpl implements StaticInfoService {
if
(
Objects
.
equals
(
BasicEnum
.
ManufacturerEnum
.
HK
.
getCode
(),
manufacturerCode
))
{
if
(
Objects
.
equals
(
BasicEnum
.
ManufacturerEnum
.
HK
.
getCode
(),
manufacturerCode
))
{
// 海康
// 海康
hkSchemePhaseLightsService
.
hkSchemePhaseLights
(
crossId
,
crossCode
);
hkSchemePhaseLightsService
.
hkSchemePhaseLights
(
crossId
,
crossCode
);
}
else
{
// todo 其他厂商
// todo 其他厂商
}
else
{
// 默认万集标准服务
wanjiCommonStaticInfoService
.
schemePhaseLights
(
crossId
,
crossCode
);
}
}
}
}
...
...
signal-utc-service/src/main/java/net/wanji/utc/util/HttpRestUtil.java
View file @
8cd6fd13
...
@@ -14,8 +14,10 @@ import org.springframework.web.client.HttpClientErrorException;
...
@@ -14,8 +14,10 @@ import org.springframework.web.client.HttpClientErrorException;
import
org.springframework.web.client.ResourceAccessException
;
import
org.springframework.web.client.ResourceAccessException
;
import
org.springframework.web.client.RestTemplate
;
import
org.springframework.web.client.RestTemplate
;
import
java.util.HashMap
;
import
java.util.Iterator
;
import
java.util.Iterator
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Objects
;
@Component
@Component
public
class
HttpRestUtil
{
public
class
HttpRestUtil
{
...
@@ -87,11 +89,12 @@ public class HttpRestUtil {
...
@@ -87,11 +89,12 @@ public class HttpRestUtil {
* @return T 返回结果
* @return T 返回结果
*/
*/
public
<
T
>
T
doPost
(
String
url
,
Map
<
String
,
String
>
headers
,
String
param
,
Class
<
T
>
classType
)
{
public
<
T
>
T
doPost
(
String
url
,
Map
<
String
,
String
>
headers
,
String
param
,
Class
<
T
>
classType
)
{
Map
<
String
,
String
>
header
=
Objects
.
isNull
(
headers
)
||
headers
.
isEmpty
()
==
true
?
buildHeader
()
:
headers
;
long
startTime
=
System
.
currentTimeMillis
();
long
startTime
=
System
.
currentTimeMillis
();
LOGGER
.
info
(
"\n 请求地址 = {} || 请求方式 = {} || 请求头 = {} || 请求参数 = {}"
,
LOGGER
.
info
(
"\n 请求地址 = {} || 请求方式 = {} || 请求头 = {} || 请求参数 = {}"
,
url
,
"POST"
,
JSON
.
toJSONString
(
header
s
),
JSON
.
toJSONString
(
param
));
url
,
"POST"
,
JSON
.
toJSONString
(
header
),
JSON
.
toJSONString
(
param
));
//封装httpEntity
//封装httpEntity
HttpEntity
httpEntity
=
getHttpEntity
(
header
s
,
param
);
HttpEntity
httpEntity
=
getHttpEntity
(
header
,
param
);
ResponseEntity
<
T
>
responseEntity
;
ResponseEntity
<
T
>
responseEntity
;
try
{
try
{
responseEntity
=
restTemplate
.
postForEntity
(
url
,
httpEntity
,
classType
);
responseEntity
=
restTemplate
.
postForEntity
(
url
,
httpEntity
,
classType
);
...
@@ -152,11 +155,12 @@ public class HttpRestUtil {
...
@@ -152,11 +155,12 @@ public class HttpRestUtil {
* @return String 返回结果
* @return String 返回结果
*/
*/
public
String
doExecute
(
String
url
,
Map
<
String
,
String
>
headers
,
HttpMethod
method
,
String
param
)
{
public
String
doExecute
(
String
url
,
Map
<
String
,
String
>
headers
,
HttpMethod
method
,
String
param
)
{
Map
<
String
,
String
>
header
=
Objects
.
isNull
(
headers
)
||
headers
.
isEmpty
()
==
true
?
buildHeader
()
:
headers
;
long
startTime
=
System
.
currentTimeMillis
();
long
startTime
=
System
.
currentTimeMillis
();
LOGGER
.
info
(
"\n 请求地址 = {} || 请求方式 = {} || 请求头 = {} || 请求参数 = {}"
,
LOGGER
.
info
(
"\n 请求地址 = {} || 请求方式 = {} || 请求头 = {} || 请求参数 = {}"
,
url
,
method
.
name
(),
JSON
.
toJSONString
(
header
s
),
JSON
.
toJSONString
(
param
));
url
,
method
.
name
(),
JSON
.
toJSONString
(
header
),
JSON
.
toJSONString
(
param
));
//封装httpEntity
//封装httpEntity
HttpEntity
httpEntity
=
getHttpEntity
(
header
s
,
param
);
HttpEntity
httpEntity
=
getHttpEntity
(
header
,
param
);
//发送请求
//发送请求
ResponseEntity
<
String
>
responseEntity
;
ResponseEntity
<
String
>
responseEntity
;
try
{
try
{
...
@@ -278,4 +282,11 @@ public class HttpRestUtil {
...
@@ -278,4 +282,11 @@ public class HttpRestUtil {
}
}
return
new
HttpEntity
(
param
,
httpHeaders
);
return
new
HttpEntity
(
param
,
httpHeaders
);
}
}
private
static
Map
<
String
,
String
>
buildHeader
()
{
Map
<
String
,
String
>
header
=
new
HashMap
<>();
header
.
put
(
"Content-Type"
,
"application/json; charset=UTF-8"
);
header
.
put
(
"Accept"
,
MediaType
.
APPLICATION_JSON
.
toString
());
return
header
;
}
}
}
signal-utc-service/src/main/java/net/wanji/utc/vo/SchemePhaseLightsVO.java
View file @
8cd6fd13
...
@@ -2,6 +2,7 @@ package net.wanji.utc.vo;
...
@@ -2,6 +2,7 @@ package net.wanji.utc.vo;
import
lombok.Data
;
import
lombok.Data
;
import
net.wanji.utc.po.CrossLightsPO
;
import
net.wanji.utc.po.CrossLightsPO
;
import
net.wanji.utc.po.CrossPhaseLightsPO
;
import
net.wanji.utc.po.CrossPhasePO
;
import
net.wanji.utc.po.CrossPhasePO
;
import
net.wanji.utc.po.CrossSchemePO
;
import
net.wanji.utc.po.CrossSchemePO
;
...
@@ -16,4 +17,5 @@ public class SchemePhaseLightsVO {
...
@@ -16,4 +17,5 @@ public class SchemePhaseLightsVO {
private
List
<
CrossSchemePO
>
crossSchemeList
;
private
List
<
CrossSchemePO
>
crossSchemeList
;
private
List
<
CrossPhasePO
>
crossPhaseList
;
private
List
<
CrossPhasePO
>
crossPhaseList
;
private
List
<
CrossLightsPO
>
crossLightsList
;
private
List
<
CrossLightsPO
>
crossLightsList
;
private
List
<
CrossPhaseLightsPO
>
crossPhaseLightsPOList
;
}
}
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