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
d1c0d4ff
Commit
d1c0d4ff
authored
Jan 10, 2023
by
hanbing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
同一方案中相位号不可重复,返回前端错误提示
parent
8ec97e7f
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
39 additions
and
2 deletions
+39
-2
PhaseNoNotUniqueException.java
...wanji/web/common/exception/PhaseNoNotUniqueException.java
+19
-0
SignalGlobalExceptionHandler.java
...ji/web/common/exception/SignalGlobalExceptionHandler.java
+6
-0
SchemeConfigServiceImpl.java
...anji/web/service/scheme/impl/SchemeConfigServiceImpl.java
+14
-2
No files found.
signal-control-service/src/main/java/net/wanji/web/common/exception/PhaseNoNotUniqueException.java
0 → 100644
View file @
d1c0d4ff
package
net
.
wanji
.
web
.
common
.
exception
;
/**
* 路段关系异常
*
* @author Kent HAN
* @date 2022/11/10 9:09
*/
public
class
PhaseNoNotUniqueException
extends
RuntimeException
{
public
PhaseNoNotUniqueException
(
String
message
)
{
super
(
message
);
}
public
PhaseNoNotUniqueException
(
String
message
,
Exception
e
)
{
super
(
message
,
e
);
}
}
signal-control-service/src/main/java/net/wanji/web/common/exception/SignalGlobalExceptionHandler.java
View file @
d1c0d4ff
...
...
@@ -17,4 +17,10 @@ public class SignalGlobalExceptionHandler {
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
return
jsonViewObject
.
fail
(
e
);
}
@ExceptionHandler
(
value
=
PhaseNoNotUniqueException
.
class
)
public
JsonViewObject
phaseNoNotUniqueExceptionHandler
(
PhaseNoNotUniqueException
e
)
{
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
return
jsonViewObject
.
fail
(
e
);
}
}
\ No newline at end of file
signal-control-service/src/main/java/net/wanji/web/service/scheme/impl/SchemeConfigServiceImpl.java
View file @
d1c0d4ff
package
net
.
wanji
.
web
.
service
.
scheme
.
impl
;
import
net.wanji.web.common.constant.ControlModeConst
;
import
net.wanji.web.common.exception.PhaseNoNotUniqueException
;
import
net.wanji.web.dto.LaneIdDTO
;
import
net.wanji.web.dto.LightIdDTO
;
import
net.wanji.web.dto.SaveSchemeConfigDTO
;
...
...
@@ -112,6 +113,8 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
String
crossId
=
saveSchemeConfigDTO
.
getCrossId
();
crossPhaseMapper
.
deleteByCrossId
(
crossId
);
crossPhaseLightsMapper
.
deleteByCrossId
(
crossId
);
// 用于限制相位号不能重复
Set
<
String
>
phaseNoSet
=
new
HashSet
<>();
List
<
SaveSchemeConfigDTO
.
PhaseScheme
>
phaseSchemeList
=
saveSchemeConfigDTO
.
getPhaseSchemeList
();
for
(
SaveSchemeConfigDTO
.
PhaseScheme
phaseScheme
:
phaseSchemeList
)
{
...
...
@@ -129,9 +132,10 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
List
<
SaveSchemeConfigDTO
.
PhaseListElement
>
phaseList
=
groupListElement
.
getPhaseList
();
for
(
int
i
=
0
;
i
<
phaseList
.
size
();
i
++)
{
SaveSchemeConfigDTO
.
PhaseListElement
phase
=
phaseList
.
get
(
i
);
String
phaseNo
=
phase
.
getPhaseNo
();
testPhaseNo
(
phaseNoSet
,
phaseNo
);
Integer
phaseType
=
phase
.
getPhaseType
();
if
(
phaseType
!=
3
)
{
// 非伴随相位
String
phaseNo
=
phase
.
getPhaseNo
();
phaseNoMap
.
put
(
phaseNo
,
phase
);
Integer
yellowFlashTime
=
phase
.
getYellowFlashTime
();
Integer
redFlashTime
=
phase
.
getRedFlashTime
();
...
...
@@ -172,7 +176,6 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
}
}
else
{
// 伴随相位
CrossPhasePO
crossPhasePO
=
new
CrossPhasePO
();
String
phaseNo
=
phase
.
getPhaseNo
();
crossPhasePO
.
setPhaseNo
(
phaseNo
);
crossPhasePO
.
setPhaseType
(
phaseType
);
crossPhasePO
.
setSort
(
i
+
1
);
...
...
@@ -231,6 +234,8 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
if
(
specialControlModeList
!=
null
)
{
for
(
int
i
=
0
;
i
<
specialControlModeList
.
size
();
i
++)
{
SaveSchemeConfigDTO
.
PhaseListElement
phase
=
specialControlModeList
.
get
(
i
);
String
phaseNo
=
phase
.
getPhaseNo
();
testPhaseNo
(
phaseNoSet
,
phaseNo
);
CrossPhasePO
crossPhasePO
=
new
CrossPhasePO
();
crossPhasePO
.
setPhaseNo
(
phase
.
getPhaseNo
());
crossPhasePO
.
setSort
(
i
+
1
);
...
...
@@ -257,6 +262,13 @@ public class SchemeConfigServiceImpl implements SchemeConfigService {
}
}
private
static
void
testPhaseNo
(
Set
<
String
>
phaseNoSet
,
String
phaseNo
)
throws
PhaseNoNotUniqueException
{
boolean
isUnique
=
phaseNoSet
.
add
(
phaseNo
);
if
(!
isUnique
)
{
throw
new
PhaseNoNotUniqueException
(
"同一方案中相位号不可重复"
);
}
}
private
void
updateCrossPhaseLights
(
String
crossId
,
SaveSchemeConfigDTO
.
PhaseListElement
phase
,
...
...
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