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
47ffa937
Commit
47ffa937
authored
Feb 27, 2023
by
duanruiming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[insert] 全局请求日志打印
parent
16468730
Changes
45
Hide whitespace changes
Inline
Side-by-side
Showing
45 changed files
with
501 additions
and
239 deletions
+501
-239
SignalGlobalExceptionHandler.java
...ji/web/common/exception/SignalGlobalExceptionHandler.java
+1
-1
PlanSendController.java
...ain/java/net/wanji/web/controller/PlanSendController.java
+14
-6
SignalCommandController.java
...ava/net/wanji/web/controller/SignalCommandController.java
+12
-2
SignalEvaluateController.java
...va/net/wanji/web/controller/SignalEvaluateController.java
+4
-1
SituationDetectionController.java
...et/wanji/web/controller/SituationDetectionController.java
+20
-1
SpecialServiceController.java
...va/net/wanji/web/controller/SpecialServiceController.java
+14
-1
TBaseCrossInfoController.java
...va/net/wanji/web/controller/TBaseCrossInfoController.java
+8
-1
CrossConfigController.java
...et/wanji/web/controller/scheme/CrossConfigController.java
+5
-1
LightsConfigController.java
...t/wanji/web/controller/scheme/LightsConfigController.java
+5
-1
RunningPlanController.java
...et/wanji/web/controller/scheme/RunningPlanController.java
+5
-1
SchemeConfigController.java
...t/wanji/web/controller/scheme/SchemeConfigController.java
+7
-1
FeignProxyService.java
...rc/main/java/net/wanji/web/service/FeignProxyService.java
+1
-2
PlanSendService.java
.../src/main/java/net/wanji/web/service/PlanSendService.java
+2
-6
TBaseCrossInfoService.java
...ain/java/net/wanji/web/service/TBaseCrossInfoService.java
+1
-1
FeignProxyServiceImpl.java
...ava/net/wanji/web/service/impl/FeignProxyServiceImpl.java
+1
-1
PlanSendServiceImpl.java
.../java/net/wanji/web/service/impl/PlanSendServiceImpl.java
+6
-35
SituationDetectionServiceImpl.java
...wanji/web/service/impl/SituationDetectionServiceImpl.java
+1
-1
CommonEventWarnTask.java
...src/main/java/net/wanji/web/task/CommonEventWarnTask.java
+1
-1
SignalStatusTask.java
...ce/src/main/java/net/wanji/web/task/SignalStatusTask.java
+1
-1
pom.xml
signal-feign-service/pom.xml
+5
-0
JsonViewObject.java
...main/java/net/wanji/feign/pojo/result/JsonViewObject.java
+0
-78
UtcFeignClients.java
...rc/main/java/net/wanji/feign/service/UtcFeignClients.java
+1
-1
CrossTurnDataRealtimeDTO.java
...main/java/net/wanji/opt/dto/CrossTurnDataRealtimeDTO.java
+2
-0
CrossOptimizeServiceImpl.java
.../net/wanji/opt/service/impl/CrossOptimizeServiceImpl.java
+1
-1
CrossMonitorTask.java
...ce/src/main/java/net/wanji/opt/task/CrossMonitorTask.java
+5
-0
ControlCommandController.java
...va/net/wanji/utc/controller/ControlCommandController.java
+14
-1
CrossInfoController.java
...in/java/net/wanji/utc/controller/CrossInfoController.java
+6
-1
ManufacturerApiController.java
...a/net/wanji/utc/controller/ManufacturerApiController.java
+6
-1
ManufacturerController.java
...java/net/wanji/utc/controller/ManufacturerController.java
+6
-1
SignalStatusController.java
...java/net/wanji/utc/controller/SignalStatusController.java
+5
-1
StaticInfoController.java
...n/java/net/wanji/utc/controller/StaticInfoController.java
+7
-1
JsonViewObject.java
...ce/src/main/java/net/wanji/utc/entity/JsonViewObject.java
+0
-79
ControlCommandService.java
.../net/wanji/utc/service/control/ControlCommandService.java
+1
-1
ControlCommandStrategyService.java
...ji/utc/service/control/ControlCommandStrategyService.java
+1
-1
ControlCommandStrategyServiceImpl.java
...rvice/control/impl/ControlCommandStrategyServiceImpl.java
+1
-1
HKControlCommandServiceImpl.java
...utc/service/control/impl/HKControlCommandServiceImpl.java
+1
-1
WanJiControlCommandServiceImpl.java
.../service/control/impl/WanJiControlCommandServiceImpl.java
+1
-1
RpcService.java
...e/src/main/java/net/wanji/utc/service/rpc/RpcService.java
+1
-1
WanJiCommonRunningStatusServiceImpl.java
...runninginfo/impl/WanJiCommonRunningStatusServiceImpl.java
+1
-1
WanJiCommonStaticInfoServiceImpl.java
...ice/staticinfo/impl/WanJiCommonStaticInfoServiceImpl.java
+1
-1
AspectLog.java
...in/java/net/wanji/common/annotation/aspect/AspectLog.java
+27
-0
OperateLog.java
wj-common/src/main/java/net/wanji/common/dto/OperateLog.java
+56
-0
BaseEnum.java
wj-common/src/main/java/net/wanji/common/enums/BaseEnum.java
+1
-1
LogAspectHandler.java
...java/net/wanji/common/framework/log/LogAspectHandler.java
+191
-0
IpAddressUtil.java
.../main/java/net/wanji/common/utils/tool/IpAddressUtil.java
+51
-0
No files found.
signal-control-service/src/main/java/net/wanji/web/common/exception/SignalGlobalExceptionHandler.java
View file @
47ffa937
package
net
.
wanji
.
web
.
common
.
exception
;
import
net.wanji.
feign.pojo.resul
t.JsonViewObject
;
import
net.wanji.
common.framework.res
t.JsonViewObject
;
import
org.springframework.web.bind.annotation.ExceptionHandler
;
import
org.springframework.web.bind.annotation.RestControllerAdvice
;
...
...
signal-control-service/src/main/java/net/wanji/web/controller/PlanSendController.java
View file @
47ffa937
...
...
@@ -4,13 +4,11 @@ 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.common.annotation.aspect.AspectLog
;
import
net.wanji.common.dto.CrossIdDTO
;
import
net.wanji.
web.dto.SaveSchemeConfigDTO
;
import
net.wanji.
web.dto.ScheduleIdDTO
;
import
net.wanji.web.dto.
SchemeIdDTO
;
import
net.wanji.
common.enums.BaseEnum
;
import
net.wanji.
common.framework.rest.JsonViewObject
;
import
net.wanji.web.dto.
*
;
import
net.wanji.web.service.impl.PlanSendServiceImpl
;
import
net.wanji.web.vo.PhaseListByTimeVO
;
import
org.springframework.web.bind.annotation.PostMapping
;
...
...
@@ -35,6 +33,7 @@ public class PlanSendController {
this
.
planSendService
=
planSendService
;
}
@AspectLog
(
description
=
"方案下发"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"方案下发"
,
notes
=
"时间表下发"
)
@PostMapping
(
"/scheduleSend"
)
public
JsonViewObject
timeTableSend
(
@RequestBody
ScheduleIdDTO
scheduleIdDTO
)
{
...
...
@@ -42,6 +41,7 @@ public class PlanSendController {
return
jsonViewObject
;
}
@AspectLog
(
description
=
"强制方案"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"强制方案"
,
notes
=
"强制方案"
)
@PostMapping
(
"/schemeSend"
)
public
JsonViewObject
schemeSend
(
@RequestBody
SchemeIdDTO
schemeIdDTO
)
{
...
...
@@ -49,6 +49,7 @@ public class PlanSendController {
return
jsonViewObject
;
}
@AspectLog
(
description
=
"模式切换-中心控制-步进"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"模式切换-中心控制-步进"
,
notes
=
"模式切换-中心控制-步进"
)
@PostMapping
(
"/nextStep"
)
public
JsonViewObject
nextStep
(
@RequestBody
CrossIdDTO
crossIdDTO
)
{
...
...
@@ -56,6 +57,7 @@ public class PlanSendController {
return
jsonViewObject
;
}
@AspectLog
(
description
=
"模式切换-中心控制-相位锁定"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"模式切换-中心控制-相位锁定"
,
notes
=
"模式切换-中心控制-相位锁定"
)
@PostMapping
(
"/lockPhase"
)
public
JsonViewObject
lockPhase
(
@RequestBody
CrossIdAndPhaseIdsDTO
crossIdAndPhaseIdsDTO
)
{
...
...
@@ -63,6 +65,7 @@ public class PlanSendController {
return
jsonViewObject
;
}
@AspectLog
(
description
=
"模式切换-中心控制-全红控制"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"模式切换-中心控制-全红控制"
,
notes
=
"模式切换-中心控制-全红控制"
)
@PostMapping
(
"/allRedControl"
)
public
JsonViewObject
allRedControl
(
@RequestBody
CrossIdDTO
crossIdDTO
)
{
...
...
@@ -70,6 +73,7 @@ public class PlanSendController {
return
jsonViewObject
;
}
@AspectLog
(
description
=
"模式切换-中心控制-黄闪控制"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"模式切换-中心控制-黄闪控制"
,
notes
=
"模式切换-中心控制-黄闪控制"
)
@PostMapping
(
"/yellowLightControl"
)
public
JsonViewObject
yellowLightControl
(
@RequestBody
CrossIdDTO
crossIdDTO
)
{
...
...
@@ -77,6 +81,7 @@ public class PlanSendController {
return
jsonViewObject
;
}
@AspectLog
(
description
=
"模式切换-中心控制-恢复"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"模式切换-中心控制-恢复"
,
notes
=
"模式切换-中心控制-恢复"
)
@PostMapping
(
"/restore"
)
public
JsonViewObject
restore
(
@RequestBody
CrossIdAndPhaseIdsDTO
crossIdAndPhaseIdsDTO
)
{
...
...
@@ -84,6 +89,7 @@ public class PlanSendController {
return
jsonViewObject
;
}
@AspectLog
(
description
=
"信号机方案同步"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"信号机方案同步"
,
notes
=
"信号机方案同步"
)
@PostMapping
(
"/syncScheme"
)
public
JsonViewObject
syncScheme
(
@RequestBody
CrossIdDTO
crossIdDTO
)
{
...
...
@@ -91,6 +97,7 @@ public class PlanSendController {
return
jsonViewObject
;
}
@AspectLog
(
description
=
"根据当前时间返回相位列表"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"根据当前时间返回相位列表"
,
notes
=
"根据当前时间返回相位列表"
)
@PostMapping
(
"/phaseListByTime"
)
@ApiResponses
({
...
...
@@ -103,6 +110,7 @@ public class PlanSendController {
return
jsonViewObject
.
success
(
phaseListByTimeVO
);
}
@AspectLog
(
description
=
"根据当前时间返回相位列表(单环)"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"根据当前时间返回相位列表(单环)"
,
notes
=
"根据当前时间返回相位列表(单环)"
)
@PostMapping
(
"/phaseListByTimeSingleRing"
)
@ApiResponses
({
...
...
signal-control-service/src/main/java/net/wanji/web/controller/SignalCommandController.java
View file @
47ffa937
...
...
@@ -2,7 +2,9 @@ package net.wanji.web.controller;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
net.wanji.feign.pojo.result.JsonViewObject
;
import
net.wanji.common.annotation.aspect.AspectLog
;
import
net.wanji.common.enums.BaseEnum
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.feign.pojo.vo.*
;
import
net.wanji.web.service.FeignProxyService
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -24,55 +26,63 @@ public class SignalCommandController {
@Autowired
private
FeignProxyService
feignProxyService
;
@AspectLog
(
description
=
"信号机方案下发-基础方案下发"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"信号机方案下发-基础方案下发"
,
notes
=
"信号机方案下发-基础方案下发"
)
@PostMapping
(
"/schemeSend"
)
public
JsonViewObject
schemeSend
(
@RequestBody
@Validated
SchemeSendVO
schemeSendVO
)
{
return
feignProxyService
.
schemeSend
(
schemeSendVO
);
}
@AspectLog
(
description
=
"计划下发-计划信息、时段信息"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"计划下发-计划信息、时段信息"
,
notes
=
"计划下发-计划信息、时段信息 "
)
@PostMapping
(
"/planSend"
)
public
JsonViewObject
planSend
(
@RequestBody
@Validated
PlanSendVO
planSendVO
)
{
return
feignProxyService
.
planSend
(
planSendVO
);
}
@AspectLog
(
description
=
"时间表下发-时间表信息"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"时间表下发-时间表信息"
,
notes
=
"时间表下发-时间表信息"
)
@PostMapping
(
"/scheduleSend"
)
public
JsonViewObject
scheduleSend
(
@RequestBody
@Validated
ScheduleSendVO
scheduleSendVO
)
{
return
feignProxyService
.
scheduleSend
(
scheduleSendVO
);
}
@AspectLog
(
description
=
"相位配时下发-(下发相位参数)"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"相位配时下发-(下发相位参数)"
,
notes
=
"相位配时下发-(下发相位参数)"
)
@PostMapping
(
"/phaseTimingSend"
)
public
JsonViewObject
phaseTimingSend
(
@RequestBody
@Validated
PhaseTimingSendVO
phaseTimingSendVO
)
{
return
feignProxyService
.
phaseTimingSend
(
phaseTimingSendVO
);
}
@AspectLog
(
description
=
"灯态控制-路口全红/黄闪/关灯控制/恢复"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"灯态控制-路口全红/黄闪/关灯控制/恢复"
,
notes
=
"灯态控制-路口全红/黄闪/关灯控制/恢复"
)
@PostMapping
(
"/lampStateControl"
)
public
JsonViewObject
allRedControl
(
@RequestBody
@Validated
ControlCommandVO
commandVO
)
{
return
feignProxyService
.
allRedControl
(
commandVO
);
}
@AspectLog
(
description
=
"步进控制-步进控制/恢复"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"步进控制-步进控制/恢复"
,
notes
=
"步进控制-步进控制/恢复"
)
@PostMapping
(
"/stepControl"
)
public
JsonViewObject
stepControl
(
@RequestBody
@Validated
StepControlVO
stepControlVO
)
{
return
feignProxyService
.
stepControl
(
stepControlVO
);
}
@AspectLog
(
description
=
"恢复时间表-恢复路口时间表执行"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"恢复时间表-恢复路口时间表执行"
,
notes
=
"恢复时间表-恢复路口时间表执行"
)
@PostMapping
(
"/recoverSchedule"
)
public
JsonViewObject
recoverSchedule
(
@RequestParam
String
code
)
throws
Exception
{
return
feignProxyService
.
recoverSchedule
(
code
);
}
@AspectLog
(
description
=
"锁定控制-相位锁定/解锁"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"锁定控制-相位锁定/解锁"
,
notes
=
"锁定控制-相位锁定/解锁"
)
@PostMapping
(
value
=
"/lockControl"
)
public
JsonViewObject
lockControl
(
@RequestBody
@Validated
LockControlVO
lockControlVO
)
{
return
feignProxyService
.
lockControl
(
lockControlVO
);
}
@AspectLog
(
description
=
"相位差下发"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"相位差下发"
,
notes
=
"相位差下发"
)
@PostMapping
(
"/phaseDiffSend"
)
public
JsonViewObject
phaseDiffSend
(
HttpServletRequest
httpServletRequest
)
{
...
...
signal-control-service/src/main/java/net/wanji/web/controller/SignalEvaluateController.java
View file @
47ffa937
...
...
@@ -2,7 +2,9 @@ package net.wanji.web.controller;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
net.wanji.feign.pojo.result.JsonViewObject
;
import
net.wanji.common.annotation.aspect.AspectLog
;
import
net.wanji.common.enums.BaseEnum
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.web.common.util.date.DateStyle
;
import
net.wanji.web.common.util.date.DateUtils
;
import
net.wanji.web.service.SignalEvaluateService
;
...
...
@@ -31,6 +33,7 @@ public class SignalEvaluateController extends BaseController{
@Autowired
SignalEvaluateService
signalEvaluateService
;
@AspectLog
(
description
=
"流量、排队折线图"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"流量、排队折线图"
,
notes
=
"流量、排队折线图"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/flowQueue"
,
...
...
signal-control-service/src/main/java/net/wanji/web/controller/SituationDetectionController.java
View file @
47ffa937
...
...
@@ -2,7 +2,9 @@ package net.wanji.web.controller;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
net.wanji.feign.pojo.result.JsonViewObject
;
import
net.wanji.common.annotation.aspect.AspectLog
;
import
net.wanji.common.enums.BaseEnum
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.web.service.SituationDetectionService
;
import
net.wanji.web.vo.situationDetection.*
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -30,6 +32,7 @@ public class SituationDetectionController extends BaseController {
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
@AspectLog
(
description
=
"优化记录"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"优化记录"
,
notes
=
"优化记录"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/optRecords"
,
...
...
@@ -44,6 +47,7 @@ public class SituationDetectionController extends BaseController {
return
jsonViewObject
.
success
(
optRecordsOutVO
);
}
@AspectLog
(
description
=
"路口报警"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"路口报警"
,
notes
=
"路口报警"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
)
@GetMapping
(
value
=
"/crossAlarm"
,
produces
=
MediaType
.
APPLICATION_JSON
)
...
...
@@ -54,6 +58,7 @@ public class SituationDetectionController extends BaseController {
return
jsonViewObject
.
success
(
crossAlarmOutVOList
);
}
@AspectLog
(
description
=
"事件报警"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"事件报警"
,
notes
=
"事件报警"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/eventAlarm"
,
...
...
@@ -67,6 +72,7 @@ public class SituationDetectionController extends BaseController {
return
jsonViewObject
.
success
(
eventAlarmOutVOList
);
}
@AspectLog
(
description
=
"信号控制状态"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"信号控制状态"
,
notes
=
"信号控制状态"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/controlHist"
,
...
...
@@ -80,6 +86,7 @@ public class SituationDetectionController extends BaseController {
return
jsonViewObject
.
success
(
controlHistOutVOList
);
}
@AspectLog
(
description
=
"在途车辆"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"在途车辆"
,
notes
=
"在途车辆"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/vehicleTraceHist"
,
...
...
@@ -93,6 +100,7 @@ public class SituationDetectionController extends BaseController {
return
jsonViewObject
.
success
(
vehicleTraceOutVOList
);
}
@AspectLog
(
description
=
"图层-视频设备信息及状态"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"图层-视频设备信息及状态"
,
notes
=
"图层-视频设备信息及状态"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/videoDeviceInfo"
,
...
...
@@ -105,6 +113,7 @@ public class SituationDetectionController extends BaseController {
return
jsonViewObject
.
success
(
videoDeviceInfoOutVOList
);
}
@AspectLog
(
description
=
"绿波监测"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"绿波监测"
,
notes
=
"绿波监测"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/greenwaveRealtime"
,
...
...
@@ -118,6 +127,7 @@ public class SituationDetectionController extends BaseController {
return
jsonViewObject
.
success
(
greenwaveRealtimeOutVOList
);
}
@AspectLog
(
description
=
"交通设备状态"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"交通设备状态"
,
notes
=
"交通设备状态"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/allDeviceStatus"
,
...
...
@@ -130,6 +140,7 @@ public class SituationDetectionController extends BaseController {
return
jsonViewObject
.
success
(
allDeviceStatusMap
);
}
@AspectLog
(
description
=
"绿波监测-关联路口"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"绿波监测-关联路口"
,
notes
=
"绿波监测-关联路口"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/greenwaveCross"
,
...
...
@@ -144,6 +155,7 @@ public class SituationDetectionController extends BaseController {
return
jsonViewObject
.
success
(
greenwaveCrossOutVOList
);
}
@AspectLog
(
description
=
"路口设备状态信息"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"路口设备状态信息"
,
notes
=
"路口设备状态信息"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
)
@GetMapping
(
value
=
"crossDeviceStatusInfo"
,
produces
=
MediaType
.
APPLICATION_JSON
)
...
...
@@ -166,6 +178,7 @@ public class SituationDetectionController extends BaseController {
return
jsonViewObject
.
success
(
list
);
}
@AspectLog
(
description
=
"辖区分组"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"辖区分组"
,
notes
=
"辖区分组"
)
@GetMapping
(
"/jurisdictionTree"
)
public
JsonViewObject
jurisdictionTree
(
Integer
areaId
)
throws
Exception
{
...
...
@@ -174,6 +187,7 @@ public class SituationDetectionController extends BaseController {
return
jsonViewObject
.
success
(
result
);
}
@AspectLog
(
description
=
"查询区域列表"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"查询区域列表"
,
notes
=
"查询区域列表"
)
@GetMapping
(
"/selectAreaList"
)
public
JsonViewObject
selectAreaList
(
Integer
areaId
)
{
...
...
@@ -182,6 +196,7 @@ public class SituationDetectionController extends BaseController {
return
jsonViewObject
.
success
(
areaListVOS
);
}
@AspectLog
(
description
=
"查询信号机故障列表"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"查询信号机故障列表"
,
notes
=
"查询信号机故障列表"
)
@GetMapping
(
"/listSignalFaultInfos"
)
public
JsonViewObject
listSignalFaultInfos
()
throws
Exception
{
...
...
@@ -190,6 +205,7 @@ public class SituationDetectionController extends BaseController {
return
jsonViewObject
.
success
(
signalFaultInfoVOS
);
}
@AspectLog
(
description
=
"信号机故障统计"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"信号机故障统计"
,
notes
=
"信号机故障统计"
)
@GetMapping
(
"/countSignalFaultInfos"
)
public
JsonViewObject
countSignalFaultInfos
()
{
...
...
@@ -198,6 +214,7 @@ public class SituationDetectionController extends BaseController {
return
jsonViewObject
.
success
(
result
);
}
@AspectLog
(
description
=
"路口列表-手动控制"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"路口列表-手动控制"
,
notes
=
"路口列表-手动控制"
)
@GetMapping
(
"/listSignalControlInfos"
)
public
JsonViewObject
listSignalControlInfos
(
Integer
operationMode
)
{
...
...
@@ -206,6 +223,7 @@ public class SituationDetectionController extends BaseController {
return
jsonViewObject
.
success
(
result
);
}
@AspectLog
(
description
=
"运行模式统计"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"运行模式统计"
,
notes
=
"运行模式统计"
)
@GetMapping
(
"/countSignalControlInfos"
)
public
JsonViewObject
countSignalControlInfos
()
{
...
...
@@ -214,6 +232,7 @@ public class SituationDetectionController extends BaseController {
return
jsonViewObject
.
success
(
result
);
}
@AspectLog
(
description
=
"设备厂商"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"设备厂商"
,
notes
=
"设备厂商"
)
@GetMapping
(
"/signalManufacturerInfoCount"
)
public
JsonViewObject
signalManufacturerInfoCount
()
throws
Exception
{
...
...
signal-control-service/src/main/java/net/wanji/web/controller/SpecialServiceController.java
View file @
47ffa937
...
...
@@ -4,7 +4,9 @@ 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.common.annotation.aspect.AspectLog
;
import
net.wanji.common.enums.BaseEnum
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.web.common.exception.CrossRelationException
;
import
net.wanji.web.service.SpecialServiceService
;
import
net.wanji.web.vo.specialService.*
;
...
...
@@ -31,6 +33,7 @@ public class SpecialServiceController {
@Autowired
SpecialServiceService
specialServiceService
;
@AspectLog
(
description
=
"添加特勤"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"添加特勤"
,
notes
=
"添加特勤"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/addSpecialService"
,
...
...
@@ -42,6 +45,7 @@ public class SpecialServiceController {
return
jsonViewObject
.
success
();
}
@AspectLog
(
description
=
"特勤列表"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"特勤列表"
,
notes
=
"特勤列表"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/listSpecialServices"
,
...
...
@@ -57,6 +61,7 @@ public class SpecialServiceController {
return
jsonViewObject
.
success
(
listSpecialServicesOutVOList
);
}
@AspectLog
(
description
=
"编辑特勤"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"编辑特勤"
,
notes
=
"编辑特勤"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/updateSpecialService"
,
...
...
@@ -68,6 +73,7 @@ public class SpecialServiceController {
return
jsonViewObject
.
success
();
}
@AspectLog
(
description
=
"删除特勤"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
DELETE
)
@ApiOperation
(
value
=
"删除特勤"
,
notes
=
"删除特勤"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/deleteSpecialService"
,
...
...
@@ -80,6 +86,7 @@ public class SpecialServiceController {
return
jsonViewObject
.
success
();
}
@AspectLog
(
description
=
"添加路口"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
INSERT
)
@ApiOperation
(
value
=
"添加路口"
,
notes
=
"添加路口"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/addCross"
,
...
...
@@ -94,6 +101,7 @@ public class SpecialServiceController {
}
}
@AspectLog
(
description
=
"路口列表"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"路口列表"
,
notes
=
"路口列表"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/crossList"
,
...
...
@@ -109,6 +117,7 @@ public class SpecialServiceController {
return
jsonViewObject
.
success
(
crossListOutVOList
);
}
@AspectLog
(
description
=
"更新路口"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"更新路口"
,
notes
=
"更新路口"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/updateCross"
,
...
...
@@ -120,6 +129,7 @@ public class SpecialServiceController {
return
jsonViewObject
.
success
();
}
@AspectLog
(
description
=
"删除路口"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
DELETE
)
@ApiOperation
(
value
=
"删除路口"
,
notes
=
"删除路口"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/deleteCross"
,
...
...
@@ -131,6 +141,7 @@ public class SpecialServiceController {
return
jsonViewObject
.
success
();
}
@AspectLog
(
description
=
"一键特勤"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"一键特勤"
,
notes
=
"一键特勤"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/enableSpecialService"
,
...
...
@@ -142,6 +153,7 @@ public class SpecialServiceController {
return
jsonViewObject
.
success
();
}
@AspectLog
(
description
=
"一键取消特勤"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
DELETE
)
@ApiOperation
(
value
=
"一键取消特勤"
,
notes
=
"一键取消特勤"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/disableSpecialService"
,
...
...
@@ -153,6 +165,7 @@ public class SpecialServiceController {
return
jsonViewObject
.
success
();
}
@AspectLog
(
description
=
"路口进口列表"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"路口进口列表"
,
notes
=
"路口进口列表"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/crossInList"
,
...
...
signal-control-service/src/main/java/net/wanji/web/controller/TBaseCrossInfoController.java
View file @
47ffa937
...
...
@@ -3,7 +3,9 @@ package net.wanji.web.controller;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
net.wanji.feign.pojo.result.JsonViewObject
;
import
net.wanji.common.annotation.aspect.AspectLog
;
import
net.wanji.common.enums.BaseEnum
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.web.service.TBaseCrossInfoService
;
import
net.wanji.web.vo.BaseCrossInfoVO
;
import
net.wanji.web.vo.CrossInfoVO
;
...
...
@@ -29,30 +31,35 @@ public class TBaseCrossInfoController {
@Autowired
private
TBaseCrossInfoService
crossInfoService
;
@AspectLog
(
description
=
"信号路口基础信息"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"路网管理-路口管理-查询"
,
notes
=
"路网管理-路口管理-查询"
)
@PostMapping
(
"/list"
)
public
JsonViewObject
list
(
@RequestBody
@Validated
CrossInfoVO
crossInfoVO
)
{
return
crossInfoService
.
selectAll
(
crossInfoVO
);
}
@AspectLog
(
description
=
"路网管理-路口管理-修改"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"路网管理-路口管理-修改"
,
notes
=
"路网管理-路口管理-修改"
)
@PostMapping
(
"/updateOne"
)
public
JsonViewObject
updateOne
(
@RequestBody
@Validated
(
BaseCrossInfoVO
.
Update
.
class
)
BaseCrossInfoVO
crossInfoPO
)
{
return
crossInfoService
.
updateOne
(
crossInfoPO
);
}
@AspectLog
(
description
=
"路网管理-路口管理-批量删除"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
DELETE
)
@ApiOperation
(
value
=
"路网管理-路口管理-批量删除"
,
notes
=
"路网管理-路口管理-批量删除"
)
@PostMapping
(
"/delete"
)
public
JsonViewObject
delete
(
@RequestBody
List
<
String
>
ids
)
{
return
crossInfoService
.
delete
(
ids
);
}
@AspectLog
(
description
=
"路网管理-路口管理-增加"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
INSERT
)
@ApiOperation
(
value
=
"路网管理-路口管理-增加"
,
notes
=
"路网管理-路口管理-增加"
)
@PostMapping
(
"/addOne"
)
public
JsonViewObject
addOne
(
@RequestBody
@Validated
(
BaseCrossInfoVO
.
Save
.
class
)
BaseCrossInfoVO
crossInfoPO
)
{
return
crossInfoService
.
addOne
(
crossInfoPO
);
}
@AspectLog
(
description
=
"路网管理-路口管理-区域名称下拉框"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"路网管理-路口管理-区域名称下拉框"
,
notes
=
"路网管理-路口管理-区域名称下拉框"
)
@GetMapping
(
"/areaTree"
)
public
JsonViewObject
areaTree
()
{
...
...
signal-control-service/src/main/java/net/wanji/web/controller/scheme/CrossConfigController.java
View file @
47ffa937
...
...
@@ -4,8 +4,10 @@ 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.
common.annotation.aspect.AspectLog
;
import
net.wanji.common.dto.CrossIdDTO
;
import
net.wanji.common.enums.BaseEnum
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.web.dto.SaveLaneInfoDTO
;
import
net.wanji.web.service.scheme.impl.CrossConfigServiceImpl
;
import
org.springframework.web.bind.annotation.PostMapping
;
...
...
@@ -31,6 +33,7 @@ public class CrossConfigController {
this
.
crossConfigService
=
crossConfigService
;
}
@AspectLog
(
description
=
"保存渠化配置/灯组设置、车道配置"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"保存渠化配置/灯组设置、车道配置"
,
notes
=
"保存渠化配置/灯组设置、车道配置"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/saveLaneInfo"
,
...
...
@@ -45,6 +48,7 @@ public class CrossConfigController {
return
jsonViewObject
.
success
();
}
@AspectLog
(
description
=
"渠化配置/灯组设置、车道配置列表"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"渠化配置/灯组设置、车道配置列表"
,
notes
=
"渠化配置/灯组设置、车道配置列表"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/listLaneInfo"
,
...
...
signal-control-service/src/main/java/net/wanji/web/controller/scheme/LightsConfigController.java
View file @
47ffa937
...
...
@@ -3,8 +3,10 @@ package net.wanji.web.controller.scheme;
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.
common.annotation.aspect.AspectLog
;
import
net.wanji.common.dto.CrossIdDTO
;
import
net.wanji.common.enums.BaseEnum
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.web.dto.SaveLightsInfoDTO
;
import
net.wanji.web.service.scheme.impl.LightsConfigServiceImpl
;
import
org.springframework.web.bind.annotation.PostMapping
;
...
...
@@ -27,6 +29,7 @@ public class LightsConfigController {
this
.
lightsConfigService
=
lightsConfigService
;
}
@AspectLog
(
description
=
"保存灯组配置"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"保存灯组配置"
,
notes
=
"保存灯组配置"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/saveLightsInfo"
,
...
...
@@ -41,6 +44,7 @@ public class LightsConfigController {
return
jsonViewObject
.
success
();
}
@AspectLog
(
description
=
"灯组配置列表"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"灯组配置列表"
,
notes
=
"灯组配置列表"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/listLightsInfo"
,
...
...
signal-control-service/src/main/java/net/wanji/web/controller/scheme/RunningPlanController.java
View file @
47ffa937
...
...
@@ -4,8 +4,10 @@ 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.
common.annotation.aspect.AspectLog
;
import
net.wanji.common.dto.CrossIdDTO
;
import
net.wanji.common.enums.BaseEnum
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.web.dto.RunningPlanDTO
;
import
net.wanji.web.service.scheme.impl.RunningPlanServiceImpl
;
import
org.springframework.web.bind.annotation.PostMapping
;
...
...
@@ -34,6 +36,7 @@ public class RunningPlanController {
this
.
runningPlanService
=
runningPlanService
;
}
@AspectLog
(
description
=
"保存运行计划"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"保存运行计划"
,
notes
=
"保存运行计划"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/saveRunningPlan"
,
...
...
@@ -48,6 +51,7 @@ public class RunningPlanController {
return
jsonViewObject
.
success
();
}
@AspectLog
(
description
=
"运行计划列表"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"运行计划列表"
,
notes
=
"运行计划列表"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/listRunningPlan"
,
...
...
signal-control-service/src/main/java/net/wanji/web/controller/scheme/SchemeConfigController.java
View file @
47ffa937
...
...
@@ -4,8 +4,10 @@ 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.
common.annotation.aspect.AspectLog
;
import
net.wanji.common.dto.CrossIdDTO
;
import
net.wanji.common.enums.BaseEnum
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.web.dto.LaneIdDTO
;
import
net.wanji.web.dto.LightIdDTO
;
import
net.wanji.web.dto.SaveSchemeConfigDTO
;
...
...
@@ -33,6 +35,7 @@ public class SchemeConfigController {
this
.
schemeConfigService
=
schemeConfigService
;
}
@AspectLog
(
description
=
"保存方案配置"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"保存方案配置"
,
notes
=
"保存方案配置"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/saveSchemeConfig"
,
...
...
@@ -47,6 +50,7 @@ public class SchemeConfigController {
return
jsonViewObject
.
success
();
}
@AspectLog
(
description
=
"根据车道获取灯组信息"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"根据车道获取灯组信息"
,
notes
=
"根据车道获取灯组信息"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/getLightByLane"
,
...
...
@@ -61,6 +65,7 @@ public class SchemeConfigController {
return
jsonViewObject
.
success
(
lightIdVO
);
}
@AspectLog
(
description
=
"根据灯组获取车道信息"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"根据灯组获取车道信息"
,
notes
=
"根据灯组获取车道信息"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/getLanesByLight"
,
...
...
@@ -75,6 +80,7 @@ public class SchemeConfigController {
return
jsonViewObject
.
success
(
laneIdsVO
);
}
@AspectLog
(
description
=
"方案配置列表"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"方案配置列表"
,
notes
=
"方案配置列表"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/listSchemeConfig"
,
...
...
signal-control-service/src/main/java/net/wanji/web/service/FeignProxyService.java
View file @
47ffa937
package
net
.
wanji
.
web
.
service
;
import
net.wanji.
feign.pojo.resul
t.JsonViewObject
;
import
net.wanji.
common.framework.res
t.JsonViewObject
;
import
net.wanji.feign.pojo.vo.*
;
import
javax.servlet.http.HttpServletRequest
;
/**
...
...
signal-control-service/src/main/java/net/wanji/web/service/PlanSendService.java
View file @
47ffa937
package
net
.
wanji
.
web
.
service
;
import
net.wanji.feign.pojo.result.JsonViewObject
;
import
net.wanji.web.dto.CrossIdAndTimeDTO
;
import
net.wanji.common.dto.CrossIdDTO
;
import
net.wanji.web.dto.CrossIdAndPhaseIdsDTO
;
import
net.wanji.web.dto.SaveSchemeConfigDTO
;
import
net.wanji.web.dto.ScheduleIdDTO
;
import
net.wanji.web.dto.SchemeIdDTO
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.web.dto.*
;
import
net.wanji.web.vo.PhaseListByTimeVO
;
import
java.util.List
;
...
...
signal-control-service/src/main/java/net/wanji/web/service/TBaseCrossInfoService.java
View file @
47ffa937
package
net
.
wanji
.
web
.
service
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
net.wanji.
feign.pojo.resul
t.JsonViewObject
;
import
net.wanji.
common.framework.res
t.JsonViewObject
;
import
net.wanji.web.common.enums.CrossTypeEnum
;
import
net.wanji.web.common.util.IdWorker
;
import
net.wanji.web.entity.TBaseAreaInfo
;
...
...
signal-control-service/src/main/java/net/wanji/web/service/impl/FeignProxyServiceImpl.java
View file @
47ffa937
...
...
@@ -3,7 +3,7 @@ package net.wanji.web.service.impl;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.common.enums.ControlModeEnum
;
import
net.wanji.common.framework.Constants
;
import
net.wanji.
feign.pojo.resul
t.JsonViewObject
;
import
net.wanji.
common.framework.res
t.JsonViewObject
;
import
net.wanji.feign.pojo.vo.*
;
import
net.wanji.feign.service.UtcFeignClients
;
import
net.wanji.web.mapper.ControlHistMapper
;
...
...
signal-control-service/src/main/java/net/wanji/web/service/impl/PlanSendServiceImpl.java
View file @
47ffa937
...
...
@@ -6,33 +6,12 @@ import cn.hutool.core.util.ObjectUtil;
import
com.google.gson.Gson
;
import
com.google.gson.GsonBuilder
;
import
net.wanji.common.dto.CrossIdDTO
;
import
net.wanji.feign.pojo.result.JsonViewObject
;
import
net.wanji.feign.pojo.vo.ControlCommandVO
;
import
net.wanji.feign.pojo.vo.CrossIdVO
;
import
net.wanji.feign.pojo.vo.LockControlVO
;
import
net.wanji.feign.pojo.vo.ScheduleSendVO
;
import
net.wanji.feign.pojo.vo.SchemeSendVO
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.feign.pojo.vo.*
;
import
net.wanji.feign.service.UtcFeignClients
;
import
net.wanji.web.dto.CrossIdAndPhaseIdsDTO
;
import
net.wanji.web.dto.CrossIdAndTimeDTO
;
import
net.wanji.web.dto.RunningPlanDTO
;
import
net.wanji.web.dto.SaveSchemeConfigDTO
;
import
net.wanji.web.dto.ScheduleIdDTO
;
import
net.wanji.web.dto.SchemeIdDTO
;
import
net.wanji.web.mapper.scheme.CrossLaneLightsMapper
;
import
net.wanji.web.mapper.scheme.CrossLightsMapper
;
import
net.wanji.web.mapper.scheme.CrossPhaseLightsMapper
;
import
net.wanji.web.mapper.scheme.CrossPhaseMapper
;
import
net.wanji.web.mapper.scheme.CrossPlanMapper
;
import
net.wanji.web.mapper.scheme.CrossSchedulesMapper
;
import
net.wanji.web.mapper.scheme.CrossSchedulesPlanMapper
;
import
net.wanji.web.mapper.scheme.CrossSchemeMapper
;
import
net.wanji.web.po.scheme.CrossLightsPO
;
import
net.wanji.web.po.scheme.CrossPhasePO
;
import
net.wanji.web.po.scheme.CrossPlanPO
;
import
net.wanji.web.po.scheme.CrossSchedulesPO
;
import
net.wanji.web.po.scheme.CrossSchedulesPlanPO
;
import
net.wanji.web.po.scheme.CrossSchemePO
;
import
net.wanji.web.dto.*
;
import
net.wanji.web.mapper.scheme.*
;
import
net.wanji.web.po.scheme.*
;
import
net.wanji.web.service.PlanSendService
;
import
net.wanji.web.service.scheme.impl.RunningPlanServiceImpl
;
import
net.wanji.web.service.scheme.impl.SchemeConfigServiceImpl
;
...
...
@@ -44,15 +23,7 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Transactional
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Comparator
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.Set
;
import
java.util.TreeSet
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
...
...
signal-control-service/src/main/java/net/wanji/web/service/impl/SituationDetectionServiceImpl.java
View file @
47ffa937
...
...
@@ -8,10 +8,10 @@ import com.github.pagehelper.PageInfo;
import
lombok.RequiredArgsConstructor
;
import
net.wanji.common.enums.EventAlarmEnum
;
import
net.wanji.common.enums.EventAlarmSourceEnum
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.common.utils.tool.BeanListUtils
;
import
net.wanji.common.utils.tool.BeanMapUtils
;
import
net.wanji.common.utils.tool.CrossUtil
;
import
net.wanji.feign.pojo.result.JsonViewObject
;
import
net.wanji.feign.pojo.vo.CrossInfoOutVo
;
import
net.wanji.feign.pojo.vo.CrossInfoVO
;
import
net.wanji.feign.pojo.vo.ManufacturerInfoOutVO
;
...
...
signal-control-service/src/main/java/net/wanji/web/task/CommonEventWarnTask.java
View file @
47ffa937
...
...
@@ -3,7 +3,7 @@ package net.wanji.web.task;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.
feign.pojo.resul
t.JsonViewObject
;
import
net.wanji.
common.framework.res
t.JsonViewObject
;
import
net.wanji.feign.service.UtcFeignClients
;
import
net.wanji.web.common.util.StringUtils
;
import
net.wanji.web.entity.TBaseCrossInfo
;
...
...
signal-control-service/src/main/java/net/wanji/web/task/SignalStatusTask.java
View file @
47ffa937
...
...
@@ -3,7 +3,7 @@ package net.wanji.web.task;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.
feign.pojo.resul
t.JsonViewObject
;
import
net.wanji.
common.framework.res
t.JsonViewObject
;
import
net.wanji.feign.service.UtcFeignClients
;
import
net.wanji.web.dto.SignalStatusLogDTO
;
import
net.wanji.web.entity.TCrossControlHist
;
...
...
signal-feign-service/pom.xml
View file @
47ffa937
...
...
@@ -11,6 +11,11 @@
<version>
0.0.2
</version>
<dependencies>
<dependency>
<groupId>
net.wanji
</groupId>
<artifactId>
wj-common
</artifactId>
<version>
0.0.2
</version>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter
</artifactId>
...
...
signal-feign-service/src/main/java/net/wanji/feign/pojo/result/JsonViewObject.java
deleted
100644 → 0
View file @
16468730
package
net
.
wanji
.
feign
.
pojo
.
result
;
import
lombok.Data
;
import
java.io.Serializable
;
//没有get set方法会导致feign 接口调用时,无法使用JsonViewObject作为返回值
@Data
public
class
JsonViewObject
implements
Serializable
{
private
Object
content
;
private
String
message
;
private
String
status
;
private
Integer
code
;
private
Long
timestamp
;
public
Object
getContent
()
{
return
content
;
}
public
String
getMessage
()
{
return
message
;
}
public
String
getStatus
()
{
return
status
;
}
private
JsonViewObject
()
{
}
public
static
JsonViewObject
newInstance
()
{
return
new
JsonViewObject
();
}
public
JsonViewObject
success
()
{
return
success
((
Object
)
""
);
}
public
JsonViewObject
success
(
Object
content
)
{
return
success
(
content
,
""
);
}
public
JsonViewObject
success
(
String
message
)
{
return
success
(
""
,
message
);
}
public
JsonViewObject
success
(
Object
content
,
String
message
)
{
return
pack
(
content
,
message
,
"success"
);
}
public
JsonViewObject
fail
()
{
return
fail
(
""
,
""
);
}
public
JsonViewObject
fail
(
Exception
e
)
{
String
message
=
e
.
getMessage
();
int
index
=
message
.
indexOf
(
":"
);
return
fail
(
index
==
-
1
?
message
:
message
.
substring
(
index
+
1
));
}
public
JsonViewObject
fail
(
String
errMsg
)
{
return
fail
(
""
,
errMsg
);
}
public
JsonViewObject
fail
(
Object
content
,
String
message
)
{
return
pack
(
content
,
message
,
"fail"
);
}
private
JsonViewObject
pack
(
Object
content
,
String
message
,
String
status
)
{
this
.
content
=
content
;
this
.
message
=
message
;
this
.
status
=
status
;
//增加服务返回状态码,后期待完善
this
.
code
=(
status
.
equals
(
"success"
)
?
200
:
500
);
return
this
;
}
}
\ No newline at end of file
signal-feign-service/src/main/java/net/wanji/feign/service/UtcFeignClients.java
View file @
47ffa937
package
net
.
wanji
.
feign
.
service
;
import
net.wanji.
feign.pojo.resul
t.JsonViewObject
;
import
net.wanji.
common.framework.res
t.JsonViewObject
;
import
net.wanji.feign.pojo.vo.*
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.PostMapping
;
...
...
signal-optimize-service/src/main/java/net/wanji/opt/dto/CrossTurnDataRealtimeDTO.java
View file @
47ffa937
...
...
@@ -72,6 +72,8 @@ public class CrossTurnDataRealtimeDTO {
* 通行时长 = 排队车辆 * 车头时距
*/
public
Double
calPassTime
(
CrossTurnDataRealtimeDTO
entity
)
{
// todo 优化参数,策略场景优化需要配置参数选择优化方法,读取不同配置优化信息
Double
currentVehheadDist
=
entity
.
getVehheadDist
();
if
(
Objects
.
isNull
(
currentVehheadDist
)
||
currentVehheadDist
>
20
||
currentVehheadDist
<
7
)
{
currentVehheadDist
=
9.0
;
...
...
signal-optimize-service/src/main/java/net/wanji/opt/service/impl/CrossOptimizeServiceImpl.java
View file @
47ffa937
...
...
@@ -6,12 +6,12 @@ import net.wanji.common.enums.CrossStatusEnum;
import
net.wanji.common.enums.TurnConvertEnum
;
import
net.wanji.common.enums.WeekEnum
;
import
net.wanji.common.framework.Constants
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.common.utils.tool.DateUtil
;
import
net.wanji.common.utils.tool.StringUtils
;
import
net.wanji.databus.dao.entity.RidInfoEntity
;
import
net.wanji.databus.dao.mapper.RidInfoMapper
;
import
net.wanji.databus.entity.develop.servicedevelop.develop.StatusCodeEnum
;
import
net.wanji.feign.pojo.result.JsonViewObject
;
import
net.wanji.feign.pojo.vo.SchemeSendVO
;
import
net.wanji.feign.pojo.vo.SignalStatusVO
;
import
net.wanji.feign.service.UtcFeignClients
;
...
...
signal-optimize-service/src/main/java/net/wanji/opt/task/CrossMonitorTask.java
View file @
47ffa937
...
...
@@ -4,6 +4,7 @@ import lombok.extern.slf4j.Slf4j;
import
net.wanji.common.enums.CrossStatusEnum
;
import
net.wanji.common.framework.Constants
;
import
net.wanji.opt.dao.mapper.trend.CrossDataRealtimeMapper
;
import
net.wanji.opt.dto.CrossTurnDataRealtimeDTO
;
import
net.wanji.opt.po.trend.CrossDataRealtimePO
;
import
net.wanji.opt.service.CrossOptimizeService
;
import
org.springframework.beans.BeanUtils
;
...
...
@@ -103,6 +104,10 @@ public class CrossMonitorTask {
List
<
CrossDataRealtimePO
>
crossDataRealtimePOList
=
new
ArrayList
<>(
1
);
CrossDataRealtimePO
crossDataRealtimePO
=
crossDataRealtimeMapper
.
selectById
(
"14Q1409IRF0"
);
crossDataRealtimePOList
.
add
(
crossDataRealtimePO
);
// todo 对数据进行处理,可能主要是CrossTurnDataRealtimeDTO中的车间距,车时距等配置修改
CrossTurnDataRealtimeDTO
crossTurnDataRealtimeDTO
=
new
CrossTurnDataRealtimeDTO
();
return
crossDataRealtimePOList
;
}
...
...
signal-utc-service/src/main/java/net/wanji/utc/controller/ControlCommandController.java
View file @
47ffa937
...
...
@@ -5,7 +5,9 @@ import io.swagger.annotations.ApiImplicitParam;
import
io.swagger.annotations.ApiImplicitParams
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.utc.entity.JsonViewObject
;
import
net.wanji.common.annotation.aspect.AspectLog
;
import
net.wanji.common.enums.BaseEnum
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.utc.service.control.ControlCommandStrategyService
;
import
net.wanji.utc.vo.*
;
import
org.springframework.validation.annotation.Validated
;
...
...
@@ -36,6 +38,7 @@ public class ControlCommandController {
* @param schemeSendVO 方案下发VO
* @return
*/
@AspectLog
(
description
=
"信号机方案下发-基础方案下发"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"信号机方案下发-基础方案下发"
,
notes
=
"信号机方案下发-基础方案下发"
)
@PostMapping
(
"/schemeSend"
)
public
JsonViewObject
schemeSend
(
@RequestBody
@Validated
SchemeSendVO
schemeSendVO
)
throws
Exception
{
...
...
@@ -48,6 +51,7 @@ public class ControlCommandController {
* @param planSendVO 计划下发VO
* @return
*/
@AspectLog
(
description
=
"计划下发-计划信息、时段信息"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"计划下发-计划信息、时段信息"
,
notes
=
"计划下发-计划信息、时段信息"
)
@PostMapping
(
"/planSend"
)
public
JsonViewObject
planSend
(
@RequestBody
@Validated
PlanSendVO
planSendVO
)
throws
Exception
{
...
...
@@ -61,6 +65,7 @@ public class ControlCommandController {
* @return
* @throws Exception 异常
*/
@AspectLog
(
description
=
"时间表下发-时间表信息"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"时间表下发-时间表信息"
,
notes
=
"时间表下发-时间表信息"
)
@PostMapping
(
"/scheduleSend"
)
public
JsonViewObject
scheduleSend
(
@RequestBody
@Validated
ScheduleSendVO
scheduleSendVO
)
throws
Exception
{
...
...
@@ -73,6 +78,7 @@ public class ControlCommandController {
* @return
* @throws InterruptedException 中断异常
*/
@AspectLog
(
description
=
"相位配时下发-(下发相位参数)"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"相位配时下发-(下发相位参数)"
,
notes
=
"相位配时下发-(下发相位参数)"
)
@PostMapping
(
"/phaseTimingSend"
)
public
JsonViewObject
phaseTimingSend
(
@RequestBody
@Validated
PhaseTimingSendVO
phaseTimingSendVO
)
throws
Exception
{
...
...
@@ -86,6 +92,7 @@ public class ControlCommandController {
* @return
* @throws Exception 异常
*/
@AspectLog
(
description
=
"全红控制-路口全红控制/恢复"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"全红控制-路口全红控制/恢复"
,
notes
=
"全红控制-路口全红控制/恢复"
)
@PostMapping
(
"/allRedControl"
)
public
JsonViewObject
allRedControl
(
@RequestBody
@Validated
ControlCommandVO
commandVO
)
throws
Exception
{
...
...
@@ -99,6 +106,7 @@ public class ControlCommandController {
* @return
* @throws Exception 异常
*/
@AspectLog
(
description
=
"黄闪控制-路口黄闪控制/恢复"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"黄闪控制-路口黄闪控制/恢复"
,
notes
=
"黄闪控制-路口黄闪控制/恢复"
)
@PostMapping
(
"/yellowLightControl"
)
public
JsonViewObject
yellowLightControl
(
@RequestBody
@Validated
ControlCommandVO
commandVO
)
throws
Exception
{
...
...
@@ -112,6 +120,7 @@ public class ControlCommandController {
* @return
* @throws Exception 异常
*/
@AspectLog
(
description
=
"关灯控制-路口关灯控制/开灯"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"关灯控制-路口关灯控制/开灯"
,
notes
=
"关灯控制-路口关灯控制/开灯"
)
@PostMapping
(
"/closeLightControl"
)
public
JsonViewObject
closeLightControl
(
@RequestBody
@Validated
ControlCommandVO
commandVO
)
throws
Exception
{
...
...
@@ -126,6 +135,7 @@ public class ControlCommandController {
* @param stepNum 一步num
* @return
*/
@AspectLog
(
description
=
"步进控制-步进控制/恢复"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"步进控制-步进控制/恢复"
,
notes
=
"步进控制-步进控制/恢复"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
name
=
"command"
,
value
=
"1 开始步进 0 取消步进"
,
paramType
=
"query"
,
required
=
true
,
dataType
=
"int"
),
...
...
@@ -144,6 +154,7 @@ public class ControlCommandController {
* @param code 信号id
* @return
*/
@AspectLog
(
description
=
"恢复时间表-恢复路口时间表执行"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"恢复时间表-恢复路口时间表执行"
,
notes
=
"恢复时间表-恢复路口时间表执行"
)
@PostMapping
(
"/recoverSchedule"
)
public
JsonViewObject
recoverSchedule
(
@RequestParam
String
code
)
throws
Exception
{
...
...
@@ -157,6 +168,7 @@ public class ControlCommandController {
* @return
* @throws Exception 异常
*/
@AspectLog
(
description
=
"锁定控制-相位锁定/解锁"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"锁定控制-相位锁定/解锁"
,
notes
=
"锁定控制-相位锁定/解锁"
)
@PostMapping
(
"/lockControl"
)
public
JsonViewObject
lockControl
(
@RequestBody
@Validated
ControlCommandVO
commandVO
)
throws
Exception
{
...
...
@@ -166,6 +178,7 @@ public class ControlCommandController {
/**
* 相位差下发
*/
@AspectLog
(
description
=
"相位差下发"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"相位差下发"
,
notes
=
"相位差下发"
)
@PostMapping
(
"/phaseDiffSend"
)
public
JsonViewObject
phaseDiffSend
()
{
...
...
signal-utc-service/src/main/java/net/wanji/utc/controller/CrossInfoController.java
View file @
47ffa937
...
...
@@ -5,10 +5,12 @@ import io.swagger.annotations.Api;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiResponse
;
import
io.swagger.annotations.ApiResponses
;
import
net.wanji.common.annotation.aspect.AspectLog
;
import
net.wanji.common.enums.BaseEnum
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.utc.dto.systemadmin.CrossInfoInsertOrUpdateDTO
;
import
net.wanji.utc.dto.systemadmin.CrossInfoListDTO
;
import
net.wanji.utc.dto.systemadmin.DeleteByStringIdListDTO
;
import
net.wanji.utc.entity.JsonViewObject
;
import
net.wanji.utc.service.systemadmin.CrossInfoService
;
import
net.wanji.utc.vo.systemadmin.CrossInfoListVO
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -34,6 +36,7 @@ public class CrossInfoController {
@Autowired
CrossInfoService
crossInfoService
;
@AspectLog
(
description
=
"信号机列表"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"信号机列表"
,
notes
=
"信号机列表"
,
response
=
CrossInfoListVO
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/list"
,
...
...
@@ -57,6 +60,7 @@ public class CrossInfoController {
return
jsonViewObject
.
success
(
crossInfoListOutVOPageInfo
);
}
@AspectLog
(
description
=
"信号机添加或修改"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"信号机添加或修改"
,
notes
=
"信号机添加或修改"
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/insertOrUpdate"
,
consumes
=
MediaType
.
APPLICATION_JSON
)
public
JsonViewObject
insertOrUpdate
(
@RequestBody
CrossInfoInsertOrUpdateDTO
inVO
)
{
...
...
@@ -66,6 +70,7 @@ public class CrossInfoController {
return
jsonViewObject
.
success
();
}
@AspectLog
(
description
=
"信号机删除"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"信号机删除"
,
notes
=
"信号机删除"
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/delete"
,
consumes
=
MediaType
.
APPLICATION_JSON
)
public
JsonViewObject
delete
(
@RequestBody
DeleteByStringIdListDTO
inVO
)
{
...
...
signal-utc-service/src/main/java/net/wanji/utc/controller/ManufacturerApiController.java
View file @
47ffa937
...
...
@@ -5,10 +5,12 @@ import io.swagger.annotations.Api;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiResponse
;
import
io.swagger.annotations.ApiResponses
;
import
net.wanji.common.annotation.aspect.AspectLog
;
import
net.wanji.common.enums.BaseEnum
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.utc.dto.systemadmin.DeleteByIntegerIdListDTO
;
import
net.wanji.utc.dto.systemadmin.ManufacturerApiInfoInsertOrUpdateDTO
;
import
net.wanji.utc.dto.systemadmin.ManufacturerApiInfoListDTO
;
import
net.wanji.utc.entity.JsonViewObject
;
import
net.wanji.utc.po.ManufacturerApiInfoPO
;
import
net.wanji.utc.service.systemadmin.ManufacturerApiInfoService
;
import
net.wanji.utc.vo.systemadmin.ManufacturerApiInfoVO
;
...
...
@@ -34,6 +36,7 @@ public class ManufacturerApiController {
@Autowired
ManufacturerApiInfoService
manufacturerApiInfoService
;
@AspectLog
(
description
=
"接口列表"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"接口列表"
,
notes
=
"接口列表"
,
response
=
ManufacturerApiInfoPO
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/list"
,
...
...
@@ -49,6 +52,7 @@ public class ManufacturerApiController {
return
jsonViewObject
.
success
(
manufacturerApiInfoOutVOPageInfo
);
}
@AspectLog
(
description
=
"接口添加或修改"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"接口添加或修改"
,
notes
=
"接口添加或修改"
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/insertOrUpdate"
,
consumes
=
MediaType
.
APPLICATION_JSON
)
public
JsonViewObject
insertOrUpdate
(
@RequestBody
ManufacturerApiInfoInsertOrUpdateDTO
inVO
)
{
...
...
@@ -58,6 +62,7 @@ public class ManufacturerApiController {
return
jsonViewObject
.
success
();
}
@AspectLog
(
description
=
"接口删除"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"接口删除"
,
notes
=
"接口删除"
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/delete"
,
consumes
=
MediaType
.
APPLICATION_JSON
)
public
JsonViewObject
delete
(
@RequestBody
DeleteByIntegerIdListDTO
inVO
)
{
...
...
signal-utc-service/src/main/java/net/wanji/utc/controller/ManufacturerController.java
View file @
47ffa937
...
...
@@ -5,10 +5,12 @@ import io.swagger.annotations.Api;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiResponse
;
import
io.swagger.annotations.ApiResponses
;
import
net.wanji.common.annotation.aspect.AspectLog
;
import
net.wanji.common.enums.BaseEnum
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.utc.dto.systemadmin.DeleteByIntegerIdListDTO
;
import
net.wanji.utc.dto.systemadmin.ManufacturerInsertOrUpdateDTO
;
import
net.wanji.utc.dto.systemadmin.ManufacturerListDTO
;
import
net.wanji.utc.entity.JsonViewObject
;
import
net.wanji.utc.po.ManufacturerInfoPO
;
import
net.wanji.utc.service.systemadmin.ManufacturerService
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -34,6 +36,7 @@ public class ManufacturerController {
@Autowired
ManufacturerService
manufacturerService
;
@AspectLog
(
description
=
"厂商列表"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@ApiOperation
(
value
=
"厂商列表"
,
notes
=
"厂商列表"
,
response
=
ManufacturerInfoPO
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/list"
,
...
...
@@ -56,6 +59,7 @@ public class ManufacturerController {
return
jsonViewObject
.
success
(
manufacturerInfoPOPageInfo
);
}
@AspectLog
(
description
=
"厂商添加或修改"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
UPDATE
)
@ApiOperation
(
value
=
"厂商添加或修改"
,
notes
=
"厂商添加或修改"
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/insertOrUpdate"
,
consumes
=
MediaType
.
APPLICATION_JSON
)
public
JsonViewObject
insertOrUpdate
(
@RequestBody
ManufacturerInsertOrUpdateDTO
inVO
)
{
...
...
@@ -65,6 +69,7 @@ public class ManufacturerController {
return
jsonViewObject
.
success
();
}
@AspectLog
(
description
=
"厂商删除"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
DELETE
)
@ApiOperation
(
value
=
"厂商删除"
,
notes
=
"厂商删除"
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/delete"
,
consumes
=
MediaType
.
APPLICATION_JSON
)
public
JsonViewObject
delete
(
@RequestBody
DeleteByIntegerIdListDTO
inVO
)
{
...
...
signal-utc-service/src/main/java/net/wanji/utc/controller/SignalStatusController.java
View file @
47ffa937
...
...
@@ -10,7 +10,9 @@ import io.swagger.annotations.ApiOperation;
import
io.swagger.annotations.ApiResponse
;
import
io.swagger.annotations.ApiResponses
;
import
lombok.RequiredArgsConstructor
;
import
net.wanji.utc.entity.JsonViewObject
;
import
net.wanji.common.annotation.aspect.AspectLog
;
import
net.wanji.common.enums.BaseEnum
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.utc.po.SignalStatusLogPO
;
import
net.wanji.utc.service.runninginfo.SignalStatusService
;
import
net.wanji.utc.vo.LightsStatusVO
;
...
...
@@ -33,6 +35,7 @@ import java.util.List;
public
class
SignalStatusController
{
private
final
SignalStatusService
signalStatusService
;
@AspectLog
(
description
=
"运行状态、告警数据"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@PostMapping
(
value
=
"/runningStatusAlarm"
,
produces
=
MediaType
.
APPLICATION_JSON
)
@ApiOperation
(
value
=
"运行状态、告警数据"
,
notes
=
"运行状态、告警数据"
,
response
=
SignalStatusLogPO
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
)
...
...
@@ -47,6 +50,7 @@ public class SignalStatusController {
}
@AspectLog
(
description
=
"灯态数据"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@PostMapping
(
value
=
"/lightStatus"
,
produces
=
MediaType
.
APPLICATION_JSON
)
@ApiOperation
(
value
=
"灯态数据"
,
notes
=
"灯态数据"
,
response
=
LightsStatusVO
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
)
...
...
signal-utc-service/src/main/java/net/wanji/utc/controller/StaticInfoController.java
View file @
47ffa937
...
...
@@ -4,11 +4,13 @@ import io.swagger.annotations.Api;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiResponse
;
import
io.swagger.annotations.ApiResponses
;
import
net.wanji.common.annotation.aspect.AspectLog
;
import
net.wanji.common.enums.BaseEnum
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.utc.dto.CrossInfoDTO
;
import
net.wanji.utc.dto.CrossSchedulesDTO
;
import
net.wanji.utc.dto.PlanSectionDTO
;
import
net.wanji.utc.dto.SchemePhaseLightsDTO
;
import
net.wanji.utc.entity.JsonViewObject
;
import
net.wanji.utc.po.CrossInfoPO
;
import
net.wanji.utc.po.CrossSchedulesPO
;
import
net.wanji.utc.service.staticinfo.StaticInfoService
;
...
...
@@ -36,6 +38,7 @@ public class StaticInfoController {
@Autowired
StaticInfoService
staticInfoService
;
@AspectLog
(
description
=
"信号路口基础信息"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@PostMapping
(
value
=
"/crossInfo"
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@ApiOperation
(
value
=
"信号路口基础信息"
,
notes
=
"信号路口基础信息"
,
response
=
CrossInfoPO
.
class
,
...
...
@@ -50,6 +53,7 @@ public class StaticInfoController {
return
jsonViewObject
.
success
(
crossInfoPOList
);
}
@AspectLog
(
description
=
"方案数据-方案信息、相位信息、灯组信息"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@PostMapping
(
value
=
"/schemePhaseLights"
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@ApiOperation
(
value
=
"方案数据-方案信息、相位信息、灯组信息"
,
notes
=
"方案数据-方案信息、相位信息、灯组信息"
,
...
...
@@ -68,6 +72,7 @@ public class StaticInfoController {
return
jsonViewObject
.
success
(
schemePhaseLightsVO
);
}
@AspectLog
(
description
=
"计划数据-计划信息、时段信息"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@PostMapping
(
value
=
"/planSection"
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@ApiOperation
(
value
=
"计划数据-计划信息、时段信息"
,
notes
=
"计划数据-计划信息、时段信息"
,
response
=
PlanSectionVO
.
class
,
...
...
@@ -94,6 +99,7 @@ public class StaticInfoController {
return
jsonViewObject
.
success
(
planSectionVO
);
}
@AspectLog
(
description
=
"时间表数据"
,
operationType
=
BaseEnum
.
OperationTypeEnum
.
QUERY
)
@PostMapping
(
value
=
"/crossSchedules"
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@ApiOperation
(
value
=
"时间表数据"
,
notes
=
"时间表数据"
,
response
=
CrossSchedulesPO
.
class
,
...
...
signal-utc-service/src/main/java/net/wanji/utc/entity/JsonViewObject.java
deleted
100644 → 0
View file @
16468730
package
net
.
wanji
.
utc
.
entity
;
import
lombok.Data
;
import
net.wanji.utc.common.constant.Constants
;
import
net.wanji.utc.common.typeenum.HttpCode
;
import
java.io.Serializable
;
@Data
public
class
JsonViewObject
implements
Serializable
{
private
Object
content
;
private
String
message
;
private
String
status
;
private
Integer
code
;
private
Long
timestamp
;
public
Object
getContent
()
{
return
content
;
}
public
String
getMessage
()
{
return
message
;
}
public
String
getStatus
()
{
return
status
;
}
private
JsonViewObject
()
{
}
public
static
JsonViewObject
newInstance
()
{
return
new
JsonViewObject
();
}
public
JsonViewObject
success
()
{
return
success
((
Object
)
""
);
}
public
JsonViewObject
success
(
Object
content
)
{
return
success
(
content
,
""
);
}
public
JsonViewObject
success
(
String
message
)
{
return
success
(
""
,
message
);
}
public
JsonViewObject
success
(
Object
content
,
String
message
)
{
return
pack
(
content
,
message
,
Constants
.
JsonView
.
STATUS_SUCCESS
);
}
public
JsonViewObject
fail
()
{
return
fail
(
""
,
""
);
}
public
JsonViewObject
fail
(
Exception
e
)
{
String
message
=
e
.
getMessage
();
int
index
=
message
.
indexOf
(
":"
);
return
fail
(
index
==
-
1
?
message
:
message
.
substring
(
index
+
1
));
}
public
JsonViewObject
fail
(
String
errMsg
)
{
return
fail
(
""
,
errMsg
);
}
public
JsonViewObject
fail
(
Object
content
,
String
message
)
{
return
pack
(
content
,
message
,
Constants
.
JsonView
.
STATUS_FAIL
);
}
private
JsonViewObject
pack
(
Object
content
,
String
message
,
String
status
)
{
this
.
content
=
content
;
this
.
message
=
message
;
this
.
status
=
status
;
//增加服务返回状态码,后期待完善
this
.
code
=(
status
.
equals
(
Constants
.
JsonView
.
STATUS_SUCCESS
)
?
HttpCode
.
SUCCESS
.
value
():
HttpCode
.
INTERNAL_SERVER_ERROR
.
value
());
return
this
;
}
}
\ No newline at end of file
signal-utc-service/src/main/java/net/wanji/utc/service/control/ControlCommandService.java
View file @
47ffa937
package
net
.
wanji
.
utc
.
service
.
control
;
import
net.wanji.
utc.entity
.JsonViewObject
;
import
net.wanji.
common.framework.rest
.JsonViewObject
;
import
net.wanji.utc.service.rpc.RpcService
;
import
net.wanji.utc.vo.*
;
...
...
signal-utc-service/src/main/java/net/wanji/utc/service/control/ControlCommandStrategyService.java
View file @
47ffa937
package
net
.
wanji
.
utc
.
service
.
control
;
import
net.wanji.
utc.entity
.JsonViewObject
;
import
net.wanji.
common.framework.rest
.JsonViewObject
;
import
net.wanji.utc.vo.*
;
/**
...
...
signal-utc-service/src/main/java/net/wanji/utc/service/control/impl/ControlCommandStrategyServiceImpl.java
View file @
47ffa937
package
net
.
wanji
.
utc
.
service
.
control
.
impl
;
import
lombok.RequiredArgsConstructor
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.utc.common.typeenum.BasicEnum
;
import
net.wanji.utc.common.typeenum.DateStyle
;
import
net.wanji.utc.entity.JsonViewObject
;
import
net.wanji.utc.mapper.*
;
import
net.wanji.utc.po.*
;
import
net.wanji.utc.service.control.ControlCommandService
;
...
...
signal-utc-service/src/main/java/net/wanji/utc/service/control/impl/HKControlCommandServiceImpl.java
View file @
47ffa937
...
...
@@ -7,13 +7,13 @@ import com.google.common.collect.Lists;
import
com.hikvision.artemis.sdk.ArtemisHttpUtil
;
import
com.hikvision.artemis.sdk.config.ArtemisConfig
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.utc.common.baseentity.BaseCrossInfo
;
import
net.wanji.utc.common.exception.ControlException
;
import
net.wanji.utc.common.typeenum.BasicEnum
;
import
net.wanji.utc.dto.hk.DownloadPlanSpandsDTO
;
import
net.wanji.utc.dto.hk.DownloadScheduleDTO
;
import
net.wanji.utc.dto.hk.DownloadTimeSpandsDTO
;
import
net.wanji.utc.entity.JsonViewObject
;
import
net.wanji.utc.mapper.CrossInfoMapper
;
import
net.wanji.utc.mapper.CrossPhaseMapper
;
import
net.wanji.utc.mapper.ManufacturerInfoMapper
;
...
...
signal-utc-service/src/main/java/net/wanji/utc/service/control/impl/WanJiControlCommandServiceImpl.java
View file @
47ffa937
...
...
@@ -2,7 +2,7 @@ package net.wanji.utc.service.control.impl;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.RequiredArgsConstructor
;
import
net.wanji.
utc.entity
.JsonViewObject
;
import
net.wanji.
common.framework.rest
.JsonViewObject
;
import
net.wanji.utc.service.control.ControlCommandService
;
import
net.wanji.utc.util.HttpRestUtil
;
import
net.wanji.utc.util.StringUtils
;
...
...
signal-utc-service/src/main/java/net/wanji/utc/service/rpc/RpcService.java
View file @
47ffa937
package
net
.
wanji
.
utc
.
service
.
rpc
;
import
net.wanji.
utc.entity
.JsonViewObject
;
import
net.wanji.
common.framework.rest
.JsonViewObject
;
import
net.wanji.utc.util.HttpRestUtil
;
import
java.util.Map
;
...
...
signal-utc-service/src/main/java/net/wanji/utc/service/runninginfo/impl/WanJiCommonRunningStatusServiceImpl.java
View file @
47ffa937
...
...
@@ -3,7 +3,7 @@ package net.wanji.utc.service.runninginfo.impl;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.
utc.entity
.JsonViewObject
;
import
net.wanji.
common.framework.rest
.JsonViewObject
;
import
net.wanji.utc.po.SignalStatusLogPO
;
import
net.wanji.utc.service.runninginfo.WanJiCommonRunningStatusService
;
import
net.wanji.utc.util.HttpRestUtil
;
...
...
signal-utc-service/src/main/java/net/wanji/utc/service/staticinfo/impl/WanJiCommonStaticInfoServiceImpl.java
View file @
47ffa937
...
...
@@ -3,8 +3,8 @@ package net.wanji.utc.service.staticinfo.impl;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.utc.common.Result
;
import
net.wanji.utc.entity.JsonViewObject
;
import
net.wanji.utc.mapper.*
;
import
net.wanji.utc.po.*
;
import
net.wanji.utc.service.staticinfo.WanJiCommonStaticInfoService
;
...
...
wj-common/src/main/java/net/wanji/common/annotation/aspect/AspectLog.java
0 → 100644
View file @
47ffa937
package
net
.
wanji
.
common
.
annotation
.
aspect
;
import
net.wanji.common.enums.BaseEnum
;
import
java.lang.annotation.*
;
/**
* @author duanruiming
* @date 2023/02/27 9:13
*/
@Target
({
ElementType
.
PARAMETER
,
ElementType
.
METHOD
})
@Retention
(
RetentionPolicy
.
RUNTIME
)
@Documented
public
@interface
AspectLog
{
/**
* 业务操作描述
*/
String
description
()
default
""
;
/**
* 操作类型 query create modify delete
* @return
*/
BaseEnum
.
OperationTypeEnum
operationType
();
}
wj-common/src/main/java/net/wanji/common/dto/OperateLog.java
0 → 100644
View file @
47ffa937
package
net
.
wanji
.
common
.
dto
;
import
lombok.Data
;
import
java.util.Date
;
@Data
public
class
OperateLog
{
/**
* 访问的url
*/
private
String
url
;
/**
* 登录ip
*/
private
String
ip
;
/**
* 操作系统
**/
private
String
system
;
/**
* 操作类型(增删改查)
*/
private
String
operationType
;
/**
* 响应状态码:如200、500等
*/
private
String
status
;
/**
* 响应结果
*/
private
String
result
;
/**
* 请求参数
*/
private
String
args
;
/**
* 操作时间
*/
private
Date
createTime
;
/**
* 操作信息
*/
private
String
description
;
}
\ No newline at end of file
signal-control-service/src/main/java/net/wanji/web
/common/enums/BaseEnum.java
→
wj-common/src/main/java/net/wanji
/common/enums/BaseEnum.java
View file @
47ffa937
package
net
.
wanji
.
web
.
common
.
enums
;
package
net
.
wanji
.
common
.
enums
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
...
...
wj-common/src/main/java/net/wanji/common/framework/log/LogAspectHandler.java
0 → 100644
View file @
47ffa937
package
net
.
wanji
.
common
.
framework
.
log
;
import
com.alibaba.fastjson.JSON
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.common.annotation.aspect.AspectLog
;
import
net.wanji.common.dto.OperateLog
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.common.utils.tool.DateUtil
;
import
net.wanji.common.utils.tool.IpAddressUtil
;
import
net.wanji.common.utils.tool.StringUtils
;
import
org.aspectj.lang.JoinPoint
;
import
org.aspectj.lang.annotation.AfterReturning
;
import
org.aspectj.lang.annotation.Aspect
;
import
org.aspectj.lang.annotation.Before
;
import
org.aspectj.lang.annotation.Pointcut
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.context.request.RequestContextHolder
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.lang.reflect.Method
;
import
java.util.*
;
import
static
net
.
wanji
.
common
.
framework
.
Constants
.
DATE_FORMAT
.
E_DATE_FORMAT_SECOND
;
/**
* @author duanruiming
* @date 2023/02/27 9:35
*/
@Aspect
@Slf4j
@Component
public
class
LogAspectHandler
{
@Value
(
"${service.name: }"
)
private
String
serverName
;
/**
*
*/
@Pointcut
(
"@annotation(net.wanji.common.annotation.aspect.AspectLog)"
)
public
void
controllerAspect
()
{
}
@Before
(
"controllerAspect()"
)
public
void
executeBefore
(
JoinPoint
joinPoint
)
{
try
{
HttpServletRequest
request
=
((
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
()).
getRequest
();
String
ip
=
IpAddressUtil
.
getIpAddress
(
request
);
Map
<
String
,
String
>
map
=
getControllerMethodDescription
(
joinPoint
);
//*========操作日志=========*//
OperateLog
log
=
new
OperateLog
();
log
.
setDescription
(
map
.
get
(
"description"
).
toString
());
log
.
setIp
(
ip
);
log
.
setSystem
(
serverName
);
log
.
setOperationType
(
map
.
get
(
"operationType"
).
toString
());
log
.
setUrl
(
request
.
getRequestURL
().
toString
());
log
.
setArgs
(
getArgs
(
request
,
joinPoint
));
log
.
setCreateTime
(
new
Date
());
//打印操作日志
this
.
consoleLog
(
log
,
request
);
}
catch
(
Exception
e
)
{
log
.
error
(
"日志切面直行前异常,异常信息: {}"
,
e
);
}
}
@AfterReturning
(
value
=
"controllerAspect()"
,
returning
=
"jsonViewObject"
)
public
void
afterReturning
(
JoinPoint
joinPoint
,
JsonViewObject
jsonViewObject
)
{
HttpServletRequest
request
=
((
ServletRequestAttributes
)
RequestContextHolder
.
getRequestAttributes
()).
getRequest
();
try
{
//请求的IP
String
ip
=
IpAddressUtil
.
getIpAddress
(
request
);
//url
String
uri
=
request
.
getRequestURL
().
toString
();
//获取信息
Map
<
String
,
String
>
map
=
getControllerMethodDescription
(
joinPoint
);
//*========操作日志=========*//
OperateLog
operateLog
=
new
OperateLog
();
operateLog
.
setDescription
(
map
.
get
(
"description"
).
toString
());
operateLog
.
setIp
(
ip
);
operateLog
.
setSystem
(
serverName
);
operateLog
.
setOperationType
(
map
.
get
(
"operationType"
).
toString
());
operateLog
.
setUrl
(
request
.
getRequestURL
().
toString
());
operateLog
.
setArgs
(
getArgs
(
request
,
joinPoint
));
operateLog
.
setStatus
(
jsonViewObject
.
getStatus
());
operateLog
.
setResult
(
JSON
.
toJSONString
(
jsonViewObject
));
operateLog
.
setCreateTime
(
new
Date
());
log
.
info
(
"\n 外部系统调用本地接口,请求IP = {} || 接口 = {} || 地址 = {} || 响应状态 = {}"
,
ip
,
map
.
get
(
"description"
).
toString
(),
uri
,
jsonViewObject
.
getStatus
());
}
catch
(
Exception
e
)
{
//记录本地异常日志
log
.
error
(
"记录本地接口响应日志异常,异常信息:{}"
,
e
);
}
}
private
String
consoleLogTemplate
=
"\r\n "
+
"系统:%s\r\n"
+
"URL:%s\r\n"
+
"操作类型:%s\r\n"
+
"操作描述:%s\r\n"
+
"操作IP:%s\r\n"
+
"操作时间:%s\r\n"
+
"请求参数:%s\r\n"
;
/**
* 打印输出格式日志
*
* @param operateLog 输出日志对象
* @param request 请求对象
*/
private
void
consoleLog
(
OperateLog
operateLog
,
HttpServletRequest
request
)
{
try
{
String
logText
=
String
.
format
(
consoleLogTemplate
,
serverName
,
operateLog
.
getUrl
(),
operateLog
.
getOperationType
(),
operateLog
.
getDescription
(),
operateLog
.
getIp
(),
DateUtil
.
formatDate
(
operateLog
.
getCreateTime
(),
E_DATE_FORMAT_SECOND
.
getStrFormat
()),
operateLog
.
getArgs
());
log
.
info
(
logText
);
}
catch
(
Exception
e
)
{
log
.
error
(
"打印操作日志异常,异常信息: {}"
,
e
);
}
}
/**
* @param request 请求对象
* @param joinPoint
* @return String 请求参数
* @discription: [获取请求参数]
*/
public
static
String
getArgs
(
HttpServletRequest
request
,
JoinPoint
joinPoint
)
{
Enumeration
<
String
>
parameterNames
=
request
.
getParameterNames
();
Map
<
String
,
Object
>
requestParams
=
new
HashMap
<>();
while
(
parameterNames
.
hasMoreElements
())
{
String
argName
=
parameterNames
.
nextElement
();
String
value
=
request
.
getParameter
(
argName
);
requestParams
.
put
(
argName
,
value
);
}
if
(
requestParams
.
size
()
<=
0
)
{
Object
[]
args
=
joinPoint
.
getArgs
();
for
(
Object
arg
:
args
)
{
if
(
null
==
arg
)
{
continue
;
}
if
(
arg
instanceof
HttpServletRequest
||
arg
instanceof
HttpServletResponse
)
{
continue
;
}
String
argName
=
arg
.
getClass
().
getName
();
Object
value
=
arg
;
requestParams
.
put
(
argName
,
value
);
}
}
return
JSON
.
toJSONString
(
requestParams
);
}
/**
* 获取@Aspect标注的controller方法
*
* @param joinPoint
* @return
* @throws Exception
*/
private
Map
<
String
,
String
>
getControllerMethodDescription
(
JoinPoint
joinPoint
)
throws
Exception
{
String
targetClassName
=
joinPoint
.
getTarget
().
getClass
().
getName
();
String
methodName
=
joinPoint
.
getSignature
().
getName
();
Object
[]
args
=
joinPoint
.
getArgs
();
Class
<?>
targetClass
=
Class
.
forName
(
targetClassName
);
Method
[]
methods
=
targetClass
.
getMethods
();
Map
<
String
,
String
>
map
=
new
HashMap
<>();
for
(
Method
method
:
methods
)
{
if
(
StringUtils
.
equalsIgnoreCase
(
methodName
,
method
.
getName
()))
{
Class
<?>[]
parameterTypes
=
method
.
getParameterTypes
();
if
(
Objects
.
equals
(
parameterTypes
.
length
,
args
.
length
))
{
String
description
=
method
.
getAnnotation
(
AspectLog
.
class
).
description
();
String
operationType
=
method
.
getAnnotation
(
AspectLog
.
class
).
operationType
().
toString
();
map
.
put
(
"description"
,
description
);
map
.
put
(
"operationType"
,
operationType
);
break
;
}
}
}
return
map
;
}
}
wj-common/src/main/java/net/wanji/common/utils/tool/IpAddressUtil.java
0 → 100644
View file @
47ffa937
package
net
.
wanji
.
common
.
utils
.
tool
;
import
javax.servlet.http.HttpServletRequest
;
/**
* @Description: [获取用户IP地址信息]
* @author hfx
* @version 1.0
* Created on 2019/4/16 15:07
*/
public
class
IpAddressUtil
{
/**未识别*/
public
static
final
String
UNKNOWN
=
"unknown"
;
private
IpAddressUtil
()
{}
/**
* 获取用户真实IP地址,不使用request.getRemoteAddr();的原因是有可能用户使用了代理软件方式避免真实IP地址, 参考文章:
* http://developer.51cto.com/art/201111/305181.htm
* <p>
* 可是,如果通过了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串IP值,究竟哪个才是真正的用户端的真实IP呢?
* 答案是取X-Forwarded-For中第一个非unknown的有效IP字符串。
* <p>
* 如:X-Forwarded-For:192.168.1.110, 192.168.1.120, 192.168.1.130, 192.168.1.100
* <p>
* 用户真实IP为: 192.168.1.110
*
* @param request 请求对象
* @return 用户IP地址
*/
public
static
String
getIpAddress
(
HttpServletRequest
request
)
{
//获取ip
String
ip
=
request
.
getHeader
(
"x-forwarded-for"
);
if
(
ip
==
null
||
ip
.
length
()
==
0
||
UNKNOWN
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"Proxy-Client-IP"
);
}
if
(
ip
==
null
||
ip
.
length
()
==
0
||
UNKNOWN
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"WL-Proxy-Client-IP"
);
}
if
(
ip
==
null
||
ip
.
length
()
==
0
||
UNKNOWN
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"HTTP_CLIENT_IP"
);
}
if
(
ip
==
null
||
ip
.
length
()
==
0
||
UNKNOWN
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getHeader
(
"HTTP_X_FORWARDED_FOR"
);
}
if
(
ip
==
null
||
ip
.
length
()
==
0
||
UNKNOWN
.
equalsIgnoreCase
(
ip
))
{
ip
=
request
.
getRemoteAddr
();
}
return
ip
;
}
}
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