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
jinan
traffic-signal-platform
Commits
45bfebfd
Commit
45bfebfd
authored
Mar 17, 2025
by
zhoushiguang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
研判分析-路口方向问题接口设计
parent
1d82c06a
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
183 additions
and
43 deletions
+183
-43
AnalysisProblemAreaDayController.java
...lerv2/judgeanalysis/AnalysisProblemAreaDayController.java
+4
-4
AnalysisProblemCrossDayController.java
...erv2/judgeanalysis/AnalysisProblemCrossDayController.java
+58
-38
CrossProblemDirTrendAnalysisResult.java
...onse/crossproblem/CrossProblemDirTrendAnalysisResult.java
+61
-0
CrossProblemTimeDirReasonResult.java
...esponse/crossproblem/CrossProblemTimeDirReasonResult.java
+59
-0
bootstrap.yaml
signal-optimize-service/src/main/resources/bootstrap.yaml
+1
-1
No files found.
signal-optimize-service/src/main/java/net/wanji/opt/controllerv2/judgeanalysis/AnalysisProblemAreaDayController.java
View file @
45bfebfd
...
...
@@ -57,13 +57,13 @@ public class AnalysisProblemAreaDayController {
@ApiOperation
(
value
=
"区域-路口问题数量分析"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"event
Cod
e"
,
value
=
"事件代码 701:空放 702:路口失衡,703:路口溢出"
,
required
=
true
,
dataType
=
"String"
,
defaultValue
=
""
)
@ApiImplicitParam
(
name
=
"event
Typ
e"
,
value
=
"事件代码 701:空放 702:路口失衡,703:路口溢出"
,
required
=
true
,
dataType
=
"String"
,
defaultValue
=
""
)
})
@GetMapping
(
value
=
"/cross-problem-number"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
AreaCrossProblemAnalysisResult
.
class
),
})
public
JsonViewObject
crossProblemNumber
()
{
public
JsonViewObject
crossProblemNumber
(
String
eventType
)
{
return
JsonViewObject
.
newInstance
().
success
(
null
);
}
...
...
@@ -71,13 +71,13 @@ public class AnalysisProblemAreaDayController {
@ApiOperation
(
value
=
"区域-干线问题数量分析"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"event
Cod
e"
,
value
=
"事件代码 705:干线缓行 706:干线拥堵"
,
required
=
true
,
dataType
=
"String"
,
defaultValue
=
""
)
@ApiImplicitParam
(
name
=
"event
Typ
e"
,
value
=
"事件代码 705:干线缓行 706:干线拥堵"
,
required
=
true
,
dataType
=
"String"
,
defaultValue
=
""
)
})
@GetMapping
(
value
=
"/green-problem-number"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
AreaGreenProblemAnalysisResult
.
class
),
})
public
JsonViewObject
greenProblemNumber
()
{
public
JsonViewObject
greenProblemNumber
(
String
eventType
)
{
return
JsonViewObject
.
newInstance
().
success
(
null
);
}
...
...
signal-optimize-service/src/main/java/net/wanji/opt/controllerv2/judgeanalysis/AnalysisProblemCrossDayController.java
View file @
45bfebfd
package
net
.
wanji
.
opt
.
controllerv2
.
judgeanalysis
;
import
net.wanji.opt.entity.judgeanalysis.AnalysisProblemCrossDay
;
import
net.wanji.opt.servicev2.judgeanalysis.AnalysisProblemCrossDayService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiResponse
;
import
io.swagger.annotations.ApiResponses
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.opt.controllerv2.judgeanalysis.design.response.areaproblem.AreaProblemOverview
;
import
net.wanji.opt.controllerv2.judgeanalysis.design.response.areaproblem.AreaProblemTrendAnalysisResult
;
import
net.wanji.opt.controllerv2.judgeanalysis.design.response.crossproblem.CrossProblemDirTrendAnalysisResult
;
import
net.wanji.opt.controllerv2.judgeanalysis.design.response.crossproblem.CrossProblemTimeDirReasonResult
;
import
net.wanji.opt.servicev2.judgeanalysis.AnalysisProblemCrossDayService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
net.wanji.opt.api.ResultGenerator
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.validation.Valid
;
import
java.util.List
;
import
javax.ws.rs.core.MediaType
;
/**
* <p>
...
...
@@ -25,7 +28,6 @@ import java.util.List;
* @since 2025-03-13
*/
@Api
(
tags
=
"研判分析-路口问题分析"
)
@RestController
@RequestMapping
(
"/analysis-problem-cross-day"
)
public
class
AnalysisProblemCrossDayController
{
...
...
@@ -36,44 +38,62 @@ public class AnalysisProblemCrossDayController {
@ApiOperation
(
value
=
"路口问题分析详情"
,
response
=
AnalysisProblemCrossDay
.
class
)
@GetMapping
(
value
=
"/info/{id}"
)
public
Object
info
(
@PathVariable
Long
id
)
{
Object
data
=
analysisProblemCrossDayService
.
info
(
id
);
return
ResultGenerator
.
genSuccessResult
(
data
);
@ApiOperation
(
value
=
"单路口-问题数量总览"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"crossId"
,
value
=
"路口ID"
,
required
=
true
,
dataType
=
"String"
,
defaultValue
=
""
)
})
@GetMapping
(
value
=
"/overview"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
AreaProblemOverview
.
class
),
})
public
JsonViewObject
problemOverview
(
String
crossId
)
{
return
JsonViewObject
.
newInstance
().
success
(
null
);
}
@ApiOperation
(
value
=
"路口问题分析新增"
)
@PostMapping
(
value
=
"/add"
)
public
Object
add
(
@Valid
@RequestBody
AnalysisProblemCrossDay
param
)
{
analysisProblemCrossDayService
.
add
(
param
);
return
ResultGenerator
.
genSuccessResult
();
@ApiOperation
(
value
=
"单路口-路口报警走势"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"crossId"
,
value
=
"路口ID"
,
required
=
true
,
dataType
=
"String"
,
defaultValue
=
""
)
})
@GetMapping
(
value
=
"/trend"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
AreaProblemTrendAnalysisResult
.
class
),
})
public
JsonViewObject
trend
(
String
crossId
)
{
return
JsonViewObject
.
newInstance
().
success
(
null
);
}
@ApiOperation
(
value
=
"路口问题分析修改"
)
@PostMapping
(
value
=
"/modify"
)
public
Object
modify
(
@Valid
@RequestBody
AnalysisProblemCrossDay
param
)
{
analysisProblemCrossDayService
.
modify
(
param
);
return
ResultGenerator
.
genSuccessResult
();
}
@ApiOperation
(
value
=
"路口问题分析删除(单个条目)"
)
@GetMapping
(
value
=
"/remove/{id}"
)
public
Object
remove
(
@PathVariable
Long
id
)
{
analysisProblemCrossDayService
.
remove
(
id
);
return
ResultGenerator
.
genSuccessResult
();
@ApiOperation
(
value
=
"单路口-问题发生时段、方向、原因分析"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"crossId"
,
value
=
"路口ID"
,
required
=
true
,
dataType
=
"String"
,
defaultValue
=
""
)
})
@GetMapping
(
value
=
"/detail"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
CrossProblemTimeDirReasonResult
.
class
),
})
public
JsonViewObject
detail
(
String
crossId
)
{
return
JsonViewObject
.
newInstance
().
success
(
null
);
}
@ApiOperation
(
value
=
"路口问题分析删除(多个条目)"
)
@PostMapping
(
value
=
"/removes"
)
public
Object
removes
(
@Valid
@RequestBody
List
<
Long
>
ids
)
{
analysisProblemCrossDayService
.
removes
(
ids
);
return
ResultGenerator
.
genSuccessResult
();
@ApiOperation
(
value
=
"单路口-各方向问题情况分布"
,
response
=
CrossProblemDirTrendAnalysisResult
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"crossId"
,
value
=
"路口ID"
,
required
=
true
,
dataType
=
"String"
,
defaultValue
=
""
),
@ApiImplicitParam
(
name
=
"eventType"
,
value
=
"事件代码 701:空放 702:路口失衡,703:路口溢出 707:路口拥堵"
,
required
=
true
,
dataType
=
"String"
,
defaultValue
=
""
)
})
@GetMapping
(
value
=
"/dir-trend"
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
AreaProblemTrendAnalysisResult
.
class
),
})
public
JsonViewObject
dirTrend
(
String
crossId
,
String
eventType
)
{
return
JsonViewObject
.
newInstance
().
success
(
null
);
}
}
\ No newline at end of file
signal-optimize-service/src/main/java/net/wanji/opt/controllerv2/judgeanalysis/design/response/crossproblem/CrossProblemDirTrendAnalysisResult.java
0 → 100644
View file @
45bfebfd
package
net
.
wanji
.
opt
.
controllerv2
.
judgeanalysis
.
design
.
response
.
crossproblem
;
import
com.alibaba.fastjson.JSON
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
net.wanji.opt.controllerv2.judgeanalysis.design.response.ParentResult
;
import
java.util.ArrayList
;
import
java.util.List
;
@Data
public
class
CrossProblemDirTrendAnalysisResult
extends
ParentResult
{
private
CrossProblemDirTrendAnalysisResultResponse
content
;
public
CrossProblemDirTrendAnalysisResultResponse
getContent
()
{
return
content
;
}
public
CrossProblemDirTrendAnalysisResult
setContent
(
CrossProblemDirTrendAnalysisResultResponse
content
)
{
this
.
content
=
content
;
return
this
;
}
@Override
public
String
toString
()
{
return
JSON
.
toJSONString
(
this
);
}
}
@Data
class
CrossProblemDirTrendAnalysisResultResponse
{
@ApiModelProperty
(
value
=
"时段列表"
,
example
=
"[\"20250311\",\"20250312\"]"
,
dataType
=
"String[]"
)
private
List
<
String
>
timeList
=
new
ArrayList
<>();
// @ApiModelProperty(value = "各路口时段流量列表",
// example = "[{\"name\":\"路口1\",\"list\":[150,300]}," +
// "{\"name\":\"路口2\",\"list\":[150,300]}]")
private
List
<
CrossProblemDirTrendAnalysisResultTimeFlow
>
dataList
=
new
ArrayList
<>();
}
@Data
class
CrossProblemDirTrendAnalysisResultTimeFlow
{
@ApiModelProperty
(
value
=
"方向代码:1~7顺时针,分别代表北、东北、东、东南、南、西南、西、西北"
,
example
=
"1"
)
private
Integer
dir
;
@ApiModelProperty
(
value
=
"方向描述"
,
example
=
"北"
)
private
String
dirName
;
@ApiModelProperty
(
value
=
"时段事件数量,时段对应到timeList"
,
example
=
"[300,400]"
,
dataType
=
"int[]"
)
private
List
<
Integer
>
list
;
}
signal-optimize-service/src/main/java/net/wanji/opt/controllerv2/judgeanalysis/design/response/crossproblem/CrossProblemTimeDirReasonResult.java
0 → 100644
View file @
45bfebfd
package
net
.
wanji
.
opt
.
controllerv2
.
judgeanalysis
.
design
.
response
.
crossproblem
;
import
com.alibaba.fastjson.JSON
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
net.wanji.opt.controllerv2.judgeanalysis.design.response.ParentResult
;
import
java.util.List
;
@Data
public
class
CrossProblemTimeDirReasonResult
extends
ParentResult
{
private
CrossProblemTimeDirReasonBody
content
;
public
CrossProblemTimeDirReasonBody
getContent
()
{
return
content
;
}
public
CrossProblemTimeDirReasonResult
setContent
(
CrossProblemTimeDirReasonBody
content
)
{
this
.
content
=
content
;
return
this
;
}
@Override
public
String
toString
()
{
return
JSON
.
toJSONString
(
this
);
}
}
@Data
class
CrossProblemTimeDirReasonBody
{
@ApiModelProperty
(
value
=
"事件类型码"
,
example
=
"'701'"
)
private
String
eventType
;
@ApiModelProperty
(
value
=
"事件类型名称"
,
example
=
"路口空放"
)
private
String
eventLabel
;
@ApiModelProperty
(
value
=
"问题主要发生时段"
,
example
=
"[\"07:00-08:00\",\"18:00-19:00\"]"
)
private
List
<
String
>
timeList
;
@ApiModelProperty
(
value
=
"问题主要发生方向"
/*,example = "[{'dir':1,'dirName':'北进口'},{'dir':3,'dirName':'东进口'}]"*/
)
private
List
<
CrossProblemDir
>
dirList
;
// TODO 需要有个计算任务,根据小时流量或其他指标计算事件发生的原因
@ApiModelProperty
(
value
=
"问题发生原因"
,
example
=
"[\"区位原因\",\"交通流原因\"]"
)
private
List
<
String
>
reasonList
;
}
@Data
class
CrossProblemDir
{
@ApiModelProperty
(
value
=
"方向代码:1~7顺时针,分别代表北、东北、东、东南、南、西南、西、西北"
,
example
=
"1"
)
private
Integer
dir
;
@ApiModelProperty
(
value
=
"方向描述"
,
example
=
"北"
)
private
String
dirName
;
}
signal-optimize-service/src/main/resources/bootstrap.yaml
View file @
45bfebfd
spring
:
profiles
:
active
:
docker
active
:
test
logging
:
level
:
org.apache.ibatis
:
DEBUG
\ No newline at end of file
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