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
c5341973
Commit
c5341973
authored
Feb 02, 2023
by
duanruiming
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
7690affd
c7ca62a5
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
145 additions
and
12 deletions
+145
-12
PlanSendController.java
...ain/java/net/wanji/web/controller/PlanSendController.java
+25
-3
CrossIdAndPhaseIdDTO.java
...src/main/java/net/wanji/web/dto/CrossIdAndPhaseIdDTO.java
+2
-2
CrossPlanMapper.java
...ain/java/net/wanji/web/mapper/scheme/CrossPlanMapper.java
+1
-1
SchemeSendService.java
...rc/main/java/net/wanji/web/service/SchemeSendService.java
+8
-2
SchemeSendServiceImpl.java
...ava/net/wanji/web/service/impl/SchemeSendServiceImpl.java
+97
-2
SchemeConfigServiceImpl.java
...anji/web/service/scheme/impl/SchemeConfigServiceImpl.java
+11
-1
CrossPlanMapper.xml
...vice/src/main/resources/mapper/scheme/CrossPlanMapper.xml
+1
-1
No files found.
signal-control-service/src/main/java/net/wanji/web/controller/PlanSendController.java
View file @
c5341973
...
...
@@ -4,7 +4,7 @@ import io.swagger.annotations.Api;
import
io.swagger.annotations.ApiOperation
;
import
net.wanji.feign.pojo.result.JsonViewObject
;
import
net.wanji.web.dto.CrossIdDTO
;
import
net.wanji.web.dto.
LockPhase
DTO
;
import
net.wanji.web.dto.
CrossIdAndPhaseId
DTO
;
import
net.wanji.web.dto.ScheduleIdDTO
;
import
net.wanji.web.dto.SchemeIdDTO
;
import
net.wanji.web.service.impl.SchemeSendServiceImpl
;
...
...
@@ -51,8 +51,30 @@ public class PlanSendController {
@ApiOperation
(
value
=
"模式切换-中心控制-相位锁定"
,
notes
=
"模式切换-中心控制-相位锁定"
)
@PostMapping
(
"/lockPhase"
)
public
JsonViewObject
lockPhase
(
@RequestBody
LockPhaseDTO
lockPhase
DTO
)
{
JsonViewObject
jsonViewObject
=
schemeSendService
.
lockPhase
(
lockPhase
DTO
);
public
JsonViewObject
lockPhase
(
@RequestBody
CrossIdAndPhaseIdDTO
crossIdAndPhaseId
DTO
)
{
JsonViewObject
jsonViewObject
=
schemeSendService
.
lockPhase
(
crossIdAndPhaseId
DTO
);
return
jsonViewObject
;
}
@ApiOperation
(
value
=
"模式切换-中心控制-全红控制"
,
notes
=
"模式切换-中心控制-全红控制"
)
@PostMapping
(
"/allRedControl"
)
public
JsonViewObject
allRedControl
(
@RequestBody
CrossIdDTO
crossIdDTO
)
{
JsonViewObject
jsonViewObject
=
schemeSendService
.
allRedControl
(
crossIdDTO
);
return
jsonViewObject
;
}
@ApiOperation
(
value
=
"模式切换-中心控制-黄闪控制"
,
notes
=
"模式切换-中心控制-黄闪控制"
)
@PostMapping
(
"/yellowLightControl"
)
public
JsonViewObject
yellowLightControl
(
@RequestBody
CrossIdDTO
crossIdDTO
)
{
JsonViewObject
jsonViewObject
=
schemeSendService
.
yellowLightControl
(
crossIdDTO
);
return
jsonViewObject
;
}
@ApiOperation
(
value
=
"模式切换-中心控制-恢复"
,
notes
=
"模式切换-中心控制-恢复"
)
@PostMapping
(
"/restore"
)
public
JsonViewObject
restore
(
@RequestBody
CrossIdAndPhaseIdDTO
crossIdAndPhaseIdDTO
)
{
JsonViewObject
jsonViewObject
=
schemeSendService
.
restore
(
crossIdAndPhaseIdDTO
);
return
jsonViewObject
;
}
}
signal-control-service/src/main/java/net/wanji/web/dto/
LockPhase
DTO.java
→
signal-control-service/src/main/java/net/wanji/web/dto/
CrossIdAndPhaseId
DTO.java
View file @
c5341973
...
...
@@ -10,9 +10,9 @@ import lombok.Data;
* @date 2022/12/20 10:17
*/
@Data
public
class
LockPhase
DTO
{
public
class
CrossIdAndPhaseId
DTO
{
@ApiModelProperty
(
value
=
"路口ID,如:c7e7b1f352dd4acab4a60088eb391cca"
,
required
=
true
)
private
String
crossId
;
@ApiModelProperty
(
value
=
"相位ID"
,
required
=
true
)
private
String
phaseId
;
private
Integer
phaseId
;
}
signal-control-service/src/main/java/net/wanji/web/mapper/scheme/CrossPlanMapper.java
View file @
c5341973
...
...
@@ -23,7 +23,7 @@ public interface CrossPlanMapper {
CrossPlanPO
selectByCrossIdAndName
(
@Param
(
"crossId"
)
String
crossId
,
@Param
(
"planName"
)
String
planName
);
List
<
RunningPlanDTO
.
DailyPlanListElement
>
selectDailyPlanList
(
@Param
(
"crossId"
)
String
crossId
);
List
<
RunningPlanDTO
.
DailyPlanListElement
>
selectDailyPlanList
(
String
crossId
);
CrossPlanPO
selectById
(
@Param
(
"planId"
)
Integer
planId
);
}
signal-control-service/src/main/java/net/wanji/web/service/SchemeSendService.java
View file @
c5341973
...
...
@@ -2,7 +2,7 @@ package net.wanji.web.service;
import
net.wanji.feign.pojo.result.JsonViewObject
;
import
net.wanji.web.dto.CrossIdDTO
;
import
net.wanji.web.dto.
LockPhase
DTO
;
import
net.wanji.web.dto.
CrossIdAndPhaseId
DTO
;
import
net.wanji.web.dto.ScheduleIdDTO
;
import
net.wanji.web.dto.SchemeIdDTO
;
...
...
@@ -17,5 +17,11 @@ public interface SchemeSendService {
JsonViewObject
nextStep
(
CrossIdDTO
crossIdDTO
);
JsonViewObject
lockPhase
(
LockPhaseDTO
lockPhaseDTO
);
JsonViewObject
lockPhase
(
CrossIdAndPhaseIdDTO
crossIdAndPhaseIdDTO
);
JsonViewObject
allRedControl
(
CrossIdDTO
crossIdDTO
);
JsonViewObject
yellowLightControl
(
CrossIdDTO
crossIdDTO
);
JsonViewObject
restore
(
CrossIdAndPhaseIdDTO
crossIdAndPhaseIdDTO
);
}
signal-control-service/src/main/java/net/wanji/web/service/impl/SchemeSendServiceImpl.java
View file @
c5341973
package
net
.
wanji
.
web
.
service
.
impl
;
import
net.wanji.feign.pojo.result.JsonViewObject
;
import
net.wanji.feign.pojo.vo.ControlCommandVO
;
import
net.wanji.feign.pojo.vo.LockControlVO
;
import
net.wanji.feign.pojo.vo.ScheduleSendVO
;
import
net.wanji.feign.pojo.vo.SchemeSendVO
;
import
net.wanji.feign.service.UtcFeignClients
;
import
net.wanji.web.dto.CrossIdAndPhaseIdDTO
;
import
net.wanji.web.dto.CrossIdDTO
;
import
net.wanji.web.dto.LockPhaseDTO
;
import
net.wanji.web.dto.ScheduleIdDTO
;
import
net.wanji.web.dto.SchemeIdDTO
;
import
net.wanji.web.mapper.scheme.CrossPhaseMapper
;
...
...
@@ -18,6 +19,7 @@ import net.wanji.web.po.scheme.CrossPlanPO;
import
net.wanji.web.po.scheme.CrossSchedulesPlanPO
;
import
net.wanji.web.po.scheme.CrossSchemePO
;
import
net.wanji.web.service.SchemeSendService
;
import
org.jetbrains.annotations.NotNull
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.stereotype.Service
;
...
...
@@ -96,8 +98,20 @@ public class SchemeSendServiceImpl implements SchemeSendService {
}
@Override
public
JsonViewObject
lockPhase
(
LockPhaseDTO
lockPhase
DTO
)
{
public
JsonViewObject
lockPhase
(
CrossIdAndPhaseIdDTO
crossIdAndPhaseId
DTO
)
{
LockControlVO
lockControlVO
=
new
LockControlVO
();
lockControlVO
.
setCrossCode
(
crossIdAndPhaseIdDTO
.
getCrossId
());
lockControlVO
.
setCommand
(
1
);
// 控制标识:1是;0否
lockControlVO
.
setDuration
(
0
);
// 长期
Integer
phaseId
=
crossIdAndPhaseIdDTO
.
getPhaseId
();
CrossPhasePO
crossPhasePO
=
crossPhaseMapper
.
selectById
(
phaseId
);
String
phaseNo
=
crossPhasePO
.
getPhaseNo
();
List
<
Integer
>
phaseList
=
new
ArrayList
<>();
phaseList
.
add
(
Integer
.
parseInt
(
phaseNo
));
lockControlVO
.
setPhaseList
(
phaseList
);
JsonViewObject
jsonViewObject
=
utcFeignClients
.
lockControl
(
lockControlVO
);
if
(
Objects
.
isNull
(
jsonViewObject
)
||
jsonViewObject
.
getCode
()
!=
200
)
{
return
jsonViewObject
.
fail
(
"信号机方案下发-锁定控制UTC服务调用异常"
);
...
...
@@ -105,6 +119,87 @@ public class SchemeSendServiceImpl implements SchemeSendService {
return
jsonViewObject
.
success
();
}
@Override
public
JsonViewObject
allRedControl
(
CrossIdDTO
crossIdDTO
)
{
ControlCommandVO
commandVO
=
getControlCommandVO
(
crossIdDTO
);
commandVO
.
setControlType
(
1
);
//1全红 2黄闪 3关灯
JsonViewObject
jsonViewObject
=
utcFeignClients
.
allRedControl
(
commandVO
);
if
(
Objects
.
isNull
(
jsonViewObject
)
||
jsonViewObject
.
getCode
()
!=
200
)
{
return
jsonViewObject
.
fail
(
"信号机方案下发-全红控制UTC服务调用异常"
);
}
return
jsonViewObject
.
success
();
}
@Override
public
JsonViewObject
yellowLightControl
(
CrossIdDTO
crossIdDTO
)
{
ControlCommandVO
commandVO
=
getControlCommandVO
(
crossIdDTO
);
commandVO
.
setControlType
(
2
);
//1全红 2黄闪 3关灯
JsonViewObject
jsonViewObject
=
utcFeignClients
.
yellowLightControl
(
commandVO
);
if
(
Objects
.
isNull
(
jsonViewObject
)
||
jsonViewObject
.
getCode
()
!=
200
)
{
return
jsonViewObject
.
fail
(
"信号机方案下发-黄闪控制UTC服务调用异常"
);
}
return
jsonViewObject
.
success
();
}
@Override
public
JsonViewObject
restore
(
CrossIdAndPhaseIdDTO
crossIdAndPhaseIdDTO
)
{
String
crossId
=
crossIdAndPhaseIdDTO
.
getCrossId
();
Integer
phaseId
=
crossIdAndPhaseIdDTO
.
getPhaseId
();
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
// 取消步进
// command 1开始步进,stepNum 0顺序步进
jsonViewObject
=
utcFeignClients
.
stepControl
(
crossId
,
0
,
0
);
if
(
Objects
.
isNull
(
jsonViewObject
)
||
jsonViewObject
.
getCode
()
!=
200
)
{
return
jsonViewObject
.
fail
(
"信号机方案下发-步进控制UTC服务调用异常"
);
}
// 取消相位锁定
LockControlVO
lockControlVO
=
new
LockControlVO
();
lockControlVO
.
setCrossCode
(
crossIdAndPhaseIdDTO
.
getCrossId
());
lockControlVO
.
setCommand
(
0
);
// 控制标识:1是;0否
lockControlVO
.
setDuration
(
0
);
// 长期
CrossPhasePO
crossPhasePO
=
crossPhaseMapper
.
selectById
(
phaseId
);
String
phaseNo
=
crossPhasePO
.
getPhaseNo
();
List
<
Integer
>
phaseList
=
new
ArrayList
<>();
phaseList
.
add
(
Integer
.
parseInt
(
phaseNo
));
lockControlVO
.
setPhaseList
(
phaseList
);
jsonViewObject
=
utcFeignClients
.
lockControl
(
lockControlVO
);
if
(
Objects
.
isNull
(
jsonViewObject
)
||
jsonViewObject
.
getCode
()
!=
200
)
{
return
jsonViewObject
.
fail
(
"信号机方案下发-锁定控制UTC服务调用异常"
);
}
// 取消全红控制
CrossIdDTO
crossIdDTO
=
new
CrossIdDTO
();
crossIdDTO
.
setCrossId
(
crossId
);
ControlCommandVO
commandVO
=
getControlCommandVO
(
crossIdDTO
);
commandVO
.
setCommand
(
0
);
//控制标识:1是;0否
commandVO
.
setControlType
(
1
);
//1全红 2黄闪 3关灯
jsonViewObject
=
utcFeignClients
.
allRedControl
(
commandVO
);
if
(
Objects
.
isNull
(
jsonViewObject
)
||
jsonViewObject
.
getCode
()
!=
200
)
{
return
jsonViewObject
.
fail
(
"信号机方案下发-全红控制UTC服务调用异常"
);
}
// 取消黄闪控制
commandVO
.
setControlType
(
2
);
//1全红 2黄闪 3关灯
jsonViewObject
=
utcFeignClients
.
yellowLightControl
(
commandVO
);
if
(
Objects
.
isNull
(
jsonViewObject
)
||
jsonViewObject
.
getCode
()
!=
200
)
{
return
jsonViewObject
.
fail
(
"信号机方案下发-黄闪控制UTC服务调用异常"
);
}
return
jsonViewObject
.
success
();
}
@NotNull
private
static
ControlCommandVO
getControlCommandVO
(
CrossIdDTO
crossIdDTO
)
{
ControlCommandVO
commandVO
=
new
ControlCommandVO
();
commandVO
.
setCrossCode
(
crossIdDTO
.
getCrossId
());
commandVO
.
setCommand
(
1
);
//控制标识:1是;0否
commandVO
.
setDuration
(
0
);
//长期
return
commandVO
;
}
private
List
<
SchemeSendVO
.
Pattern
>
buildPatternList
(
String
crossId
,
Integer
schemeId
)
{
List
<
SchemeSendVO
.
Pattern
>
patternList
=
new
ArrayList
<>();
CrossSchemePO
crossSchemePO
=
crossSchemeMapper
.
selectById
(
schemeId
);
...
...
signal-control-service/src/main/java/net/wanji/web/service/scheme/impl/SchemeConfigServiceImpl.java
View file @
c5341973
...
...
@@ -451,6 +451,11 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
for
(
int
j
=
0
;
j
<
phaseList
.
size
();
j
++)
{
SaveSchemeConfigDTO
.
PhaseListElement
phase
=
phaseList
.
get
(
j
);
String
phaseNo
=
phase
.
getPhaseNo
();
try
{
Integer
.
parseInt
(
phaseNo
);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
"相位编号必须为数字"
);
}
testPhaseNo
(
phaseNoSet
,
phaseNo
);
Integer
phaseType
=
phase
.
getPhaseType
();
if
(
phaseType
!=
3
)
{
// 实相位或虚相位
...
...
@@ -564,9 +569,14 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
for
(
int
i
=
0
;
i
<
specialControlModeList
.
size
();
i
++)
{
SaveSchemeConfigDTO
.
PhaseListElement
phase
=
specialControlModeList
.
get
(
i
);
String
phaseNo
=
phase
.
getPhaseNo
();
try
{
Integer
.
parseInt
(
phaseNo
);
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
"相位编号必须为数字"
);
}
testPhaseNo
(
phaseNoSet
,
phaseNo
);
CrossPhasePO
crossPhasePO
=
new
CrossPhasePO
();
crossPhasePO
.
setPhaseNo
(
phase
.
getPhaseNo
()
);
crossPhasePO
.
setPhaseNo
(
phase
No
);
crossPhasePO
.
setSort
(
i
+
1
);
crossPhasePO
.
setCrossId
(
crossId
);
crossPhasePO
.
setPlanId
(
schemeId
);
...
...
signal-control-service/src/main/resources/mapper/scheme/CrossPlanMapper.xml
View file @
c5341973
...
...
@@ -52,7 +52,7 @@
ON t1.cross_id = t2.cross_id AND t1.id = t2.plan_id
JOIN t_base_cross_scheme t3
ON t2.cross_id = t3.cross_id AND t2.scheme_id = t3.id
WHERE t1.cross_id =
'c7e7b1f352dd4acab4a60088eb391cca'
WHERE t1.cross_id =
#{crossId}
</select>
<select
id=
"selectById"
resultType=
"net.wanji.web.po.scheme.CrossPlanPO"
>
...
...
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