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
46973373
Commit
46973373
authored
Feb 03, 2023
by
hanbing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
方案管理-方案下发,根据当前时间返回相位列表
parent
cc41a27c
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
205 additions
and
41 deletions
+205
-41
PlanSendController.java
...ain/java/net/wanji/web/controller/PlanSendController.java
+31
-15
CrossIdAndPhaseIdsDTO.java
...rc/main/java/net/wanji/web/dto/CrossIdAndPhaseIdsDTO.java
+5
-3
CrossIdAndTimeDTO.java
...ce/src/main/java/net/wanji/web/dto/CrossIdAndTimeDTO.java
+21
-0
PlanSendService.java
.../src/main/java/net/wanji/web/service/PlanSendService.java
+8
-4
PlanSendServiceImpl.java
.../java/net/wanji/web/service/impl/PlanSendServiceImpl.java
+121
-19
PhaseListByTimeVO.java
...ice/src/main/java/net/wanji/web/vo/PhaseListByTimeVO.java
+19
-0
No files found.
signal-control-service/src/main/java/net/wanji/web/controller/PlanSendController.java
View file @
46973373
...
...
@@ -2,12 +2,16 @@ package net.wanji.web.controller;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiResponse
;
import
io.swagger.annotations.ApiResponses
;
import
net.wanji.feign.pojo.result.JsonViewObject
;
import
net.wanji.web.dto.CrossIdAndPhaseIdsDTO
;
import
net.wanji.web.dto.CrossIdAndTimeDTO
;
import
net.wanji.web.dto.CrossIdDTO
;
import
net.wanji.web.dto.CrossIdAndPhaseIdDTO
;
import
net.wanji.web.dto.ScheduleIdDTO
;
import
net.wanji.web.dto.SchemeIdDTO
;
import
net.wanji.web.service.impl.SchemeSendServiceImpl
;
import
net.wanji.web.service.impl.PlanSendServiceImpl
;
import
net.wanji.web.vo.PhaseListByTimeVO
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -22,65 +26,77 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@SuppressWarnings
(
"all"
)
public
class
PlanSendController
{
private
final
SchemeSendServiceImpl
scheme
SendService
;
private
final
PlanSendServiceImpl
plan
SendService
;
public
PlanSendController
(
SchemeSendServiceImpl
scheme
SendService
)
{
this
.
schemeSendService
=
scheme
SendService
;
public
PlanSendController
(
PlanSendServiceImpl
plan
SendService
)
{
this
.
planSendService
=
plan
SendService
;
}
@ApiOperation
(
value
=
"方案下发"
,
notes
=
"时间表下发"
)
@PostMapping
(
"/scheduleSend"
)
public
JsonViewObject
timeTableSend
(
@RequestBody
ScheduleIdDTO
scheduleIdDTO
)
{
JsonViewObject
jsonViewObject
=
scheme
SendService
.
scheduleSend
(
scheduleIdDTO
);
JsonViewObject
jsonViewObject
=
plan
SendService
.
scheduleSend
(
scheduleIdDTO
);
return
jsonViewObject
;
}
@ApiOperation
(
value
=
"强制方案"
,
notes
=
"强制方案"
)
@PostMapping
(
"/schemeSend"
)
public
JsonViewObject
schemeSend
(
@RequestBody
SchemeIdDTO
schemeIdDTO
)
{
JsonViewObject
jsonViewObject
=
scheme
SendService
.
schemeSend
(
schemeIdDTO
);
JsonViewObject
jsonViewObject
=
plan
SendService
.
schemeSend
(
schemeIdDTO
);
return
jsonViewObject
;
}
@ApiOperation
(
value
=
"模式切换-中心控制-步进"
,
notes
=
"模式切换-中心控制-步进"
)
@PostMapping
(
"/nextStep"
)
public
JsonViewObject
nextStep
(
@RequestBody
CrossIdDTO
crossIdDTO
)
{
JsonViewObject
jsonViewObject
=
scheme
SendService
.
nextStep
(
crossIdDTO
);
JsonViewObject
jsonViewObject
=
plan
SendService
.
nextStep
(
crossIdDTO
);
return
jsonViewObject
;
}
@ApiOperation
(
value
=
"模式切换-中心控制-相位锁定"
,
notes
=
"模式切换-中心控制-相位锁定"
)
@PostMapping
(
"/lockPhase"
)
public
JsonViewObject
lockPhase
(
@RequestBody
CrossIdAndPhaseId
DTO
crossIdAndPhaseId
DTO
)
{
JsonViewObject
jsonViewObject
=
schemeSendService
.
lockPhase
(
crossIdAndPhaseId
DTO
);
public
JsonViewObject
lockPhase
(
@RequestBody
CrossIdAndPhaseId
sDTO
crossIdAndPhaseIds
DTO
)
{
JsonViewObject
jsonViewObject
=
planSendService
.
lockPhase
(
crossIdAndPhaseIds
DTO
);
return
jsonViewObject
;
}
@ApiOperation
(
value
=
"模式切换-中心控制-全红控制"
,
notes
=
"模式切换-中心控制-全红控制"
)
@PostMapping
(
"/allRedControl"
)
public
JsonViewObject
allRedControl
(
@RequestBody
CrossIdDTO
crossIdDTO
)
{
JsonViewObject
jsonViewObject
=
scheme
SendService
.
allRedControl
(
crossIdDTO
);
JsonViewObject
jsonViewObject
=
plan
SendService
.
allRedControl
(
crossIdDTO
);
return
jsonViewObject
;
}
@ApiOperation
(
value
=
"模式切换-中心控制-黄闪控制"
,
notes
=
"模式切换-中心控制-黄闪控制"
)
@PostMapping
(
"/yellowLightControl"
)
public
JsonViewObject
yellowLightControl
(
@RequestBody
CrossIdDTO
crossIdDTO
)
{
JsonViewObject
jsonViewObject
=
scheme
SendService
.
yellowLightControl
(
crossIdDTO
);
JsonViewObject
jsonViewObject
=
plan
SendService
.
yellowLightControl
(
crossIdDTO
);
return
jsonViewObject
;
}
@ApiOperation
(
value
=
"模式切换-中心控制-恢复"
,
notes
=
"模式切换-中心控制-恢复"
)
@PostMapping
(
"/restore"
)
public
JsonViewObject
restore
(
@RequestBody
CrossIdAndPhaseId
DTO
crossIdAndPhaseId
DTO
)
{
JsonViewObject
jsonViewObject
=
schemeSendService
.
restore
(
crossIdAndPhaseId
DTO
);
public
JsonViewObject
restore
(
@RequestBody
CrossIdAndPhaseId
sDTO
crossIdAndPhaseIds
DTO
)
{
JsonViewObject
jsonViewObject
=
planSendService
.
restore
(
crossIdAndPhaseIds
DTO
);
return
jsonViewObject
;
}
@ApiOperation
(
value
=
"信号机方案同步"
,
notes
=
"信号机方案同步"
)
@PostMapping
(
"/syncScheme"
)
public
JsonViewObject
syncScheme
(
@RequestBody
CrossIdDTO
crossIdDTO
)
{
JsonViewObject
jsonViewObject
=
scheme
SendService
.
syncScheme
(
crossIdDTO
);
JsonViewObject
jsonViewObject
=
plan
SendService
.
syncScheme
(
crossIdDTO
);
return
jsonViewObject
;
}
@ApiOperation
(
value
=
"根据当前时间返回相位列表"
,
notes
=
"根据当前时间返回相位列表"
)
@PostMapping
(
"/phaseListByTime"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
PhaseListByTimeVO
.
class
),
})
public
JsonViewObject
phaseListByTime
(
@RequestBody
CrossIdAndTimeDTO
crossIdAndTimeDTO
)
{
PhaseListByTimeVO
phaseListByTimeVO
=
planSendService
.
phaseListByTime
(
crossIdAndTimeDTO
);
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
return
jsonViewObject
.
success
(
phaseListByTimeVO
);
}
}
signal-control-service/src/main/java/net/wanji/web/dto/CrossIdAndPhaseIdDTO.java
→
signal-control-service/src/main/java/net/wanji/web/dto/CrossIdAndPhaseId
s
DTO.java
View file @
46973373
...
...
@@ -3,6 +3,8 @@ package net.wanji.web.dto;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.List
;
/**
* 方案下发-模式切换-中心控制-相位锁定输入参数
*
...
...
@@ -10,9 +12,9 @@ import lombok.Data;
* @date 2022/12/20 10:17
*/
@Data
public
class
CrossIdAndPhaseIdDTO
{
public
class
CrossIdAndPhaseId
s
DTO
{
@ApiModelProperty
(
value
=
"路口ID,如:c7e7b1f352dd4acab4a60088eb391cca"
,
required
=
true
)
private
String
crossId
;
@ApiModelProperty
(
value
=
"相位ID"
,
required
=
true
)
private
Integer
phaseId
;
@ApiModelProperty
(
value
=
"相位ID
列表
"
,
required
=
true
)
private
List
<
Integer
>
phaseIds
;
}
signal-control-service/src/main/java/net/wanji/web/dto/CrossIdAndTimeDTO.java
0 → 100644
View file @
46973373
package
net
.
wanji
.
web
.
dto
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
/**
*
* @author Kent HAN
* @date 2022/12/20 10:17
*/
@Data
public
class
CrossIdAndTimeDTO
{
@ApiModelProperty
(
value
=
"路口ID,如:c7e7b1f352dd4acab4a60088eb391cca"
,
required
=
true
)
private
String
crossId
;
@ApiModelProperty
(
value
=
"当前日期时间 yyyy-MM-dd HH:mm:ss"
,
required
=
true
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
"yyyy-MM-dd HH:mm:ss"
)
private
Date
datetime
;
}
signal-control-service/src/main/java/net/wanji/web/service/
Scheme
SendService.java
→
signal-control-service/src/main/java/net/wanji/web/service/
Plan
SendService.java
View file @
46973373
package
net
.
wanji
.
web
.
service
;
import
net.wanji.feign.pojo.result.JsonViewObject
;
import
net.wanji.web.dto.CrossIdAndTimeDTO
;
import
net.wanji.web.dto.CrossIdDTO
;
import
net.wanji.web.dto.CrossIdAndPhaseIdDTO
;
import
net.wanji.web.dto.CrossIdAndPhaseId
s
DTO
;
import
net.wanji.web.dto.ScheduleIdDTO
;
import
net.wanji.web.dto.SchemeIdDTO
;
import
net.wanji.web.vo.PhaseListByTimeVO
;
/**
* @author Kent HAN
* @date 2022/11/3 16:14
*/
public
interface
Scheme
SendService
{
public
interface
Plan
SendService
{
JsonViewObject
scheduleSend
(
ScheduleIdDTO
scheduleIdDTO
);
JsonViewObject
schemeSend
(
SchemeIdDTO
schemeIdDTO
);
JsonViewObject
nextStep
(
CrossIdDTO
crossIdDTO
);
JsonViewObject
lockPhase
(
CrossIdAndPhaseId
DTO
crossIdAndPhaseId
DTO
);
JsonViewObject
lockPhase
(
CrossIdAndPhaseId
sDTO
crossIdAndPhaseIds
DTO
);
JsonViewObject
allRedControl
(
CrossIdDTO
crossIdDTO
);
JsonViewObject
yellowLightControl
(
CrossIdDTO
crossIdDTO
);
JsonViewObject
restore
(
CrossIdAndPhaseId
DTO
crossIdAndPhaseId
DTO
);
JsonViewObject
restore
(
CrossIdAndPhaseId
sDTO
crossIdAndPhaseIds
DTO
);
JsonViewObject
syncScheme
(
CrossIdDTO
crossIdDTO
);
PhaseListByTimeVO
phaseListByTime
(
CrossIdAndTimeDTO
crossIdAndTimeDTO
);
}
signal-control-service/src/main/java/net/wanji/web/service/impl/
Scheme
SendServiceImpl.java
→
signal-control-service/src/main/java/net/wanji/web/service/impl/
Plan
SendServiceImpl.java
View file @
46973373
This diff is collapsed.
Click to expand it.
signal-control-service/src/main/java/net/wanji/web/vo/PhaseListByTimeVO.java
0 → 100644
View file @
46973373
package
net
.
wanji
.
web
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
net.wanji.web.dto.SaveSchemeConfigDTO
;
/**
* @author Kent HAN
* @date 2022/12/20 10:17
*/
@Data
@ApiModel
(
value
=
"PhaseListByTimeVO"
,
description
=
"根据时间查询相位列表返回结果"
)
public
class
PhaseListByTimeVO
{
@ApiModelProperty
(
value
=
"开始时间结束时间"
,
required
=
true
)
private
String
[]
startEndTime
;
@ApiModelProperty
(
value
=
"相位列表"
,
required
=
true
)
private
SaveSchemeConfigDTO
.
PhaseScheme
phaseScheme
;
}
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