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
c14ad762
Commit
c14ad762
authored
Jan 11, 2023
by
duanruiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
静态数据-万集统一标准调用服务
parent
7dcd568f
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
112 additions
and
43 deletions
+112
-43
CrossSchedulesMapper.java
.../main/java/net/wanji/utc/mapper/CrossSchedulesMapper.java
+1
-2
WanjiCommonStaticInfoService.java
...anji/utc/service/common/WanjiCommonStaticInfoService.java
+22
-1
WanjiCommonStaticInfoServiceImpl.java
...service/common/impl/WanjiCommonStaticInfoServiceImpl.java
+76
-32
rpcService.java
...rc/main/java/net/wanji/utc/service/common/rpcService.java
+4
-6
StaticInfoServiceImpl.java
...ji/utc/service/staticinfo/impl/StaticInfoServiceImpl.java
+9
-2
No files found.
signal-utc-service/src/main/java/net/wanji/utc/mapper/CrossSchedulesMapper.java
View file @
c14ad762
...
@@ -3,7 +3,6 @@ package net.wanji.utc.mapper;
...
@@ -3,7 +3,6 @@ package net.wanji.utc.mapper;
import
net.wanji.utc.po.CrossSchedulesPO
;
import
net.wanji.utc.po.CrossSchedulesPO
;
import
org.apache.ibatis.annotations.Param
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -13,7 +12,7 @@ import java.util.List;
...
@@ -13,7 +12,7 @@ import java.util.List;
public
interface
CrossSchedulesMapper
{
public
interface
CrossSchedulesMapper
{
void
deleteByCrossId
(
@Param
(
"crossId"
)
String
crossId
);
void
deleteByCrossId
(
@Param
(
"crossId"
)
String
crossId
);
void
insertBatch
(
@Param
(
"entities"
)
Array
List
<
CrossSchedulesPO
>
crossSchedulesPOList
);
void
insertBatch
(
@Param
(
"entities"
)
List
<
CrossSchedulesPO
>
crossSchedulesPOList
);
List
<
CrossSchedulesPO
>
selectByCrossIds
(
@Param
(
"crossIds"
)
List
<
String
>
crossIdList
);
List
<
CrossSchedulesPO
>
selectByCrossIds
(
@Param
(
"crossIds"
)
List
<
String
>
crossIdList
);
}
}
signal-utc-service/src/main/java/net/wanji/utc/service/common/WanjiCommonStaticInfoService.java
View file @
c14ad762
package
net
.
wanji
.
utc
.
service
.
common
;
package
net
.
wanji
.
utc
.
service
.
common
;
import
net.wanji.utc.common.Result
;
import
net.wanji.utc.common.Result
;
import
net.wanji.utc.po.CrossSchedulesPO
;
import
net.wanji.utc.vo.PlanSectionVO
;
import
net.wanji.utc.vo.SchemePhaseLightsVO
;
import
net.wanji.utc.vo.SchemePhaseLightsVO
;
import
java.util.List
;
/**
/**
* @author duanruiming
* @author duanruiming
* @date 2023/01/09 9:20
* @date 2023/01/09 9:20
...
@@ -10,11 +14,28 @@ import net.wanji.utc.vo.SchemePhaseLightsVO;
...
@@ -10,11 +14,28 @@ import net.wanji.utc.vo.SchemePhaseLightsVO;
public
interface
WanjiCommonStaticInfoService
extends
rpcService
{
public
interface
WanjiCommonStaticInfoService
extends
rpcService
{
/**
/**
* 静态参数,
通过路口编号
获取万集标准方案数据-方案信息、相位信息、灯组信息
* 静态参数,获取万集标准方案数据-方案信息、相位信息、灯组信息
*
*
* @param crossId
* @param crossId
* @param signalId
* @param signalId
* @return
* @return
*/
*/
Result
<
SchemePhaseLightsVO
>
schemePhaseLights
(
String
crossId
,
String
signalId
);
Result
<
SchemePhaseLightsVO
>
schemePhaseLights
(
String
crossId
,
String
signalId
);
/**
* 静态参数,获取计划数据-计划信息、时段信息
* @param crossId
* @param planNo
* @param signalId
* @return
*/
Result
<
PlanSectionVO
>
planSection
(
String
crossId
,
String
signalId
,
Integer
planNo
);
/**
* 静态参数,获取时间表数据
* @param crossId
* @param signalId
* @return
*/
Result
<
List
<
CrossSchedulesPO
>>
schedules
(
String
crossId
,
String
signalId
);
}
}
signal-utc-service/src/main/java/net/wanji/utc/service/common/impl/WanjiCommonStaticInfoServiceImpl.java
View file @
c14ad762
package
net
.
wanji
.
utc
.
service
.
common
.
impl
;
package
net
.
wanji
.
utc
.
service
.
common
.
impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.utc.common.Result
;
import
net.wanji.utc.common.Result
;
import
net.wanji.utc.mapper.CrossLightsMapper
;
import
net.wanji.utc.entity.JsonViewObject
;
import
net.wanji.utc.mapper.CrossPhaseLightsMapper
;
import
net.wanji.utc.mapper.*
;
import
net.wanji.utc.mapper.CrossPhaseMapper
;
import
net.wanji.utc.po.*
;
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.service.common.WanjiCommonStaticInfoService
;
import
net.wanji.utc.util.HttpRestUtil
;
import
net.wanji.utc.util.HttpRestUtil
;
import
net.wanji.utc.vo.PlanSectionVO
;
import
net.wanji.utc.vo.SchemePhaseLightsVO
;
import
net.wanji.utc.vo.SchemePhaseLightsVO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.CollectionUtils
;
...
@@ -28,31 +24,29 @@ import java.util.Objects;
...
@@ -28,31 +24,29 @@ import java.util.Objects;
* @author duanruiming
* @author duanruiming
* @date 2023/01/09 9:21
* @date 2023/01/09 9:21
*/
*/
@Service
@Slf4j
@Slf4j
@Service
@RequiredArgsConstructor
public
class
WanjiCommonStaticInfoServiceImpl
implements
WanjiCommonStaticInfoService
{
public
class
WanjiCommonStaticInfoServiceImpl
implements
WanjiCommonStaticInfoService
{
@Autowired
private
final
HttpRestUtil
httpRestUtil
;
private
HttpRestUtil
httpRestUtil
;
@Value
(
"url"
)
@Value
(
"url"
)
private
String
rpcUri
;
private
String
rpcUri
;
@Autowired
private
final
CrossSchemeMapper
crossSchemeMapper
;
private
CrossSchemeMapper
crossSchem
eMapper
;
private
final
CrossPhaseMapper
crossPhas
eMapper
;
@Autowired
private
final
CrossLightsMapper
crossLightsMapper
;
private
CrossPhaseMapper
crossPhase
Mapper
;
private
final
CrossPhaseLightsMapper
crossPhaseLights
Mapper
;
@Autowired
private
final
CrossPlanMapper
crossPlanMapper
;
private
CrossLightsMapper
crossLights
Mapper
;
private
final
CrossSectionMapper
crossSection
Mapper
;
@Autowired
private
final
CrossSchedulesMapper
crossSchedulesMapper
;
private
CrossPhaseLightsMapper
crossPhaseLightsMapper
;
@Override
@Override
public
Result
<
SchemePhaseLightsVO
>
schemePhaseLights
(
String
crossId
,
String
signalId
)
{
public
Result
<
SchemePhaseLightsVO
>
schemePhaseLights
(
String
crossId
,
String
signalId
)
{
Map
<
String
,
String
>
paramMap
=
new
HashMap
<>(
2
);
Map
<
String
,
String
>
commonParamMap
=
getCommonParamMap
(
crossId
,
signalId
);
paramMap
.
put
(
"crossId"
,
crossId
);
JsonViewObject
jsonViewObject
=
rpcService
(
rpcUri
,
null
,
JSONObject
.
toJSONString
(
commonParamMap
));
paramMap
.
put
(
"signalId"
,
signalId
);
SchemePhaseLightsVO
content
=
(
SchemePhaseLightsVO
)
jsonViewObject
.
getContent
();
Result
<
SchemePhaseLightsVO
>
result
=
rpcService
(
rpcUri
,
null
,
JSONObject
.
toJSONString
(
paramMap
),
SchemePhaseLightsVO
.
class
);
if
(
Objects
.
nonNull
(
content
))
{
if
(
Objects
.
nonNull
(
result
.
getContent
()))
{
SchemePhaseLightsVO
content
=
result
.
getContent
();
List
<
CrossSchemePO
>
crossSchemeList
=
content
.
getCrossSchemeList
();
List
<
CrossSchemePO
>
crossSchemeList
=
content
.
getCrossSchemeList
();
crossSchemeList
.
forEach
(
crossSchemePO
->
{
crossSchemeList
.
forEach
(
crossSchemePO
->
{
crossSchemeMapper
.
deleteOne
(
crossId
,
crossSchemePO
.
getSchemeNo
());
crossSchemeMapper
.
deleteOne
(
crossId
,
crossSchemePO
.
getSchemeNo
());
...
@@ -75,16 +69,66 @@ public class WanjiCommonStaticInfoServiceImpl implements WanjiCommonStaticInfoSe
...
@@ -75,16 +69,66 @@ public class WanjiCommonStaticInfoServiceImpl implements WanjiCommonStaticInfoSe
crossPhaseLightsMapper
.
insertBatch
(
crossPhaseLightsPOList
);
crossPhaseLightsMapper
.
insertBatch
(
crossPhaseLightsPOList
);
}
}
}
}
return
Result
.
success
();
return
Result
.
success
(
content
);
}
}
@Override
@Override
public
<
T
>
Result
<
T
>
rpcService
(
String
url
,
Map
<
String
,
String
>
headers
,
String
param
,
Class
<
T
>
classType
)
{
public
Result
<
PlanSectionVO
>
planSection
(
String
crossId
,
String
signalId
,
Integer
planNo
)
{
Result
<
T
>
result
=
httpRestUtil
.
doPost
(
url
,
headers
,
param
,
Result
.
class
);
Map
<
String
,
String
>
paramMap
=
new
HashMap
<>();
if
(
Objects
.
isNull
(
result
)
||
result
.
getState
()
!=
200
)
{
paramMap
.
put
(
"crossId"
,
crossId
);
paramMap
.
put
(
"planNo"
,
String
.
valueOf
(
planNo
));
paramMap
.
put
(
"signalId"
,
signalId
);
JsonViewObject
jsonViewObject
=
rpcService
(
rpcUri
,
null
,
JSONObject
.
toJSONString
(
paramMap
));
PlanSectionVO
content
=
(
PlanSectionVO
)
jsonViewObject
.
getContent
();
if
(
Objects
.
nonNull
(
content
))
{
if
(
Objects
.
nonNull
(
content
))
{
List
<
CrossPlanPO
>
crossPlanPOList
=
content
.
getCrossPlanPOList
();
crossPlanPOList
.
forEach
(
crossPlanPO
->
{
crossPlanMapper
.
deleteOne
(
crossId
,
Integer
.
parseInt
(
crossPlanPO
.
getPlanNo
()));
crossPlanMapper
.
insertOne
(
crossPlanPO
);
});
List
<
CrossSectionPO
>
crossSectionPOList
=
content
.
getCrossSectionPOList
();
crossSectionPOList
.
forEach
(
crossSectionPO
->
{
crossSectionMapper
.
deleteOne
(
crossId
,
Integer
.
parseInt
(
crossSectionPO
.
getSectionNo
()));
crossSectionMapper
.
insertOne
(
crossSectionPO
);
});
}
}
return
Result
.
success
(
content
);
}
@Override
public
Result
<
List
<
CrossSchedulesPO
>>
schedules
(
String
crossId
,
String
signalId
)
{
Map
<
String
,
String
>
commonParamMap
=
getCommonParamMap
(
crossId
,
signalId
);
JsonViewObject
jsonViewObject
=
rpcService
(
rpcUri
,
null
,
JSONObject
.
toJSONString
(
commonParamMap
));
List
<
CrossSchedulesPO
>
content
=
(
List
<
CrossSchedulesPO
>)
jsonViewObject
.
getContent
();
if
(
Objects
.
nonNull
(
content
))
{
if
(!
CollectionUtils
.
isEmpty
(
content
))
{
content
.
forEach
(
crossSchedulesPO
->
{
crossSchedulesMapper
.
deleteByCrossId
(
crossId
);
crossSchedulesMapper
.
insertBatch
(
content
);
});
}
}
return
Result
.
success
(
content
);
}
public
static
Map
<
String
,
String
>
getCommonParamMap
(
String
crossId
,
String
signalId
)
{
Map
<
String
,
String
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"crossId"
,
crossId
);
paramMap
.
put
(
"signalId"
,
signalId
);
return
paramMap
;
}
@Override
public
JsonViewObject
rpcService
(
String
url
,
Map
<
String
,
String
>
headers
,
String
param
)
{
JsonViewObject
jsonViewObject
=
httpRestUtil
.
doPost
(
url
,
headers
,
param
,
JsonViewObject
.
class
);
if
(
Objects
.
isNull
(
jsonViewObject
)
||
jsonViewObject
.
getCode
()
!=
200
)
{
log
.
error
(
"远程服务调用异常,url:"
.
concat
(
rpcUri
));
log
.
error
(
"远程服务调用异常,url:"
.
concat
(
rpcUri
));
return
Result
.
error
(
"获取万集标准信号机方案数据远程调用异常!"
);
return
jsonViewObject
.
fail
(
"远程服务调用异常,url:"
.
concat
(
rpcUri
)
);
}
}
return
resul
t
;
return
jsonViewObjec
t
;
}
}
}
}
signal-utc-service/src/main/java/net/wanji/utc/service/common/rpcService.java
View file @
c14ad762
package
net
.
wanji
.
utc
.
service
.
common
;
package
net
.
wanji
.
utc
.
service
.
common
;
import
net.wanji.utc.
common.Resul
t
;
import
net.wanji.utc.
entity.JsonViewObjec
t
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -11,15 +11,13 @@ import java.util.Map;
...
@@ -11,15 +11,13 @@ import java.util.Map;
public
interface
rpcService
{
public
interface
rpcService
{
/**
/**
* 远程
post调用
* 远程
调用信号机设备
* @param url
* @param url
* @param headers
* @param headers
* @param param
* @param param
* @param classType
* @return
* @return
* @param <T>
*/
*/
default
<
T
>
Result
<
T
>
rpcService
(
String
url
,
Map
<
String
,
String
>
headers
,
String
param
,
Class
<
T
>
classType
)
{
default
JsonViewObject
rpcService
(
String
url
,
Map
<
String
,
String
>
headers
,
String
param
)
{
return
Result
.
success
();
return
JsonViewObject
.
newInstance
();
}
}
}
}
signal-utc-service/src/main/java/net/wanji/utc/service/staticinfo/impl/StaticInfoServiceImpl.java
View file @
c14ad762
...
@@ -14,6 +14,7 @@ import net.wanji.utc.vo.PlanSectionVO;
...
@@ -14,6 +14,7 @@ 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
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
...
@@ -103,6 +104,7 @@ public class StaticInfoServiceImpl implements StaticInfoService {
...
@@ -103,6 +104,7 @@ public class StaticInfoServiceImpl implements StaticInfoService {
// 获取厂商ID和信号机ID
// 获取厂商ID和信号机ID
CrossInfoPO
crossInfoPO
=
crossInfoMapper
.
selectByPrimaryKey
(
crossId
);
CrossInfoPO
crossInfoPO
=
crossInfoMapper
.
selectByPrimaryKey
(
crossId
);
String
crossCode
=
crossInfoPO
.
getCode
();
String
crossCode
=
crossInfoPO
.
getCode
();
String
crossInfoId
=
crossInfoPO
.
getId
();
Integer
manufacturerId
=
crossInfoPO
.
getManufacturerId
();
Integer
manufacturerId
=
crossInfoPO
.
getManufacturerId
();
// 获取厂商代码
// 获取厂商代码
ManufacturerInfoPO
manufacturerInfoPO
=
manufacturerInfoMapper
.
selectById
(
manufacturerId
);
ManufacturerInfoPO
manufacturerInfoPO
=
manufacturerInfoMapper
.
selectById
(
manufacturerId
);
...
@@ -112,7 +114,7 @@ public class StaticInfoServiceImpl implements StaticInfoService {
...
@@ -112,7 +114,7 @@ public class StaticInfoServiceImpl implements StaticInfoService {
// 海康
// 海康
hkPlanSectionService
.
planSection
(
crossCode
,
planNo
,
crossId
);
hkPlanSectionService
.
planSection
(
crossCode
,
planNo
,
crossId
);
}
else
{
}
else
{
// todo 其他厂商
wanjiCommonStaticInfoService
.
planSection
(
crossInfoId
,
crossCode
,
planNo
);
}
}
}
}
...
@@ -125,7 +127,12 @@ public class StaticInfoServiceImpl implements StaticInfoService {
...
@@ -125,7 +127,12 @@ public class StaticInfoServiceImpl implements StaticInfoService {
// 海康
// 海康
hkCrossSchedulesService
.
crossSchedules
(
crossIdList
);
hkCrossSchedulesService
.
crossSchedules
(
crossIdList
);
}
else
{
}
else
{
// todo 其他厂商
if
(!
CollectionUtils
.
isEmpty
(
crossIdList
))
{
String
crossId
=
crossIdList
.
get
(
0
);
CrossInfoPO
crossInfoPO
=
crossInfoMapper
.
selectByPrimaryKey
(
crossId
);
String
signalIc
=
crossInfoPO
.
getCode
();
wanjiCommonStaticInfoService
.
schedules
(
crossId
,
signalIc
);
}
}
}
}
}
...
...
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