From 5461b8ebf2f8bf66a9d34351eb8783484304958a Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期一, 22 八月 2022 16:17:28 +0800 Subject: [PATCH] 支持全局异常和统一返回结果,未完待续 --- src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java | 29 ++++++++++++++--------------- 1 files changed, 14 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java index 8a64684..9c7d203 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java @@ -2,6 +2,7 @@ import com.alibaba.fastjson.JSONObject; import com.genersoft.iot.vmp.conf.DynamicTask; +import com.genersoft.iot.vmp.conf.exception.ControllerException; import com.genersoft.iot.vmp.gb28181.bean.Device; import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel; import com.genersoft.iot.vmp.gb28181.bean.SubscribeHolder; @@ -17,6 +18,7 @@ import com.genersoft.iot.vmp.storager.IRedisCatchStorage; import com.genersoft.iot.vmp.storager.IVideoManagerStorage; import com.genersoft.iot.vmp.vmanager.bean.BaseTree; +import com.genersoft.iot.vmp.vmanager.bean.ErrorCode; import com.genersoft.iot.vmp.vmanager.bean.WVPResult; import com.github.pagehelper.PageInfo; import io.swagger.v3.oas.annotations.Operation; @@ -30,6 +32,7 @@ import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; +import org.springframework.util.ObjectUtils; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.context.request.async.DeferredResult; @@ -81,10 +84,9 @@ @Operation(summary = "鏌ヨ鍥芥爣璁惧") @Parameter(name = "deviceId", description = "璁惧鍥芥爣缂栧彿", required = true) @GetMapping("/devices/{deviceId}") - public ResponseEntity<Device> devices(@PathVariable String deviceId){ + public Device devices(@PathVariable String deviceId){ - Device device = storager.queryVideoDevice(deviceId); - return new ResponseEntity<>(device,HttpStatus.OK); + return storager.queryVideoDevice(deviceId); } /** @@ -123,18 +125,17 @@ @Parameter(name = "online", description = "鏄惁鍦ㄧ嚎") @Parameter(name = "channelType", description = "璁惧/瀛愮洰褰�-> false/true") @Parameter(name = "catalogUnderDevice", description = "鏄惁鐩村睘涓庤澶囩殑鐩綍") - public ResponseEntity<PageInfo> channels(@PathVariable String deviceId, + public PageInfo channels(@PathVariable String deviceId, int page, int count, @RequestParam(required = false) String query, @RequestParam(required = false) Boolean online, @RequestParam(required = false) Boolean channelType, @RequestParam(required = false) Boolean catalogUnderDevice) { - if (StringUtils.isEmpty(query)) { + if (ObjectUtils.isEmpty(query)) { query = null; } - PageInfo pageResult = storager.queryChannelsByDeviceId(deviceId, query, channelType, online, catalogUnderDevice, page, count); - return new ResponseEntity<>(pageResult,HttpStatus.OK); + return storager.queryChannelsByDeviceId(deviceId, query, channelType, online, catalogUnderDevice, page, count); } /** @@ -154,11 +155,8 @@ boolean status = deviceService.isSyncRunning(deviceId); // 宸插瓨鍦ㄥ垯杩斿洖杩涘害 if (status) { - WVPResult<SyncStatus> wvpResult = new WVPResult<>(); - wvpResult.setCode(0); SyncStatus channelSyncStatus = deviceService.getChannelSyncStatus(deviceId); - wvpResult.setData(channelSyncStatus); - return wvpResult; + return WVPResult.success(channelSyncStatus); } deviceService.sync(device); @@ -176,7 +174,7 @@ @Operation(summary = "绉婚櫎璁惧") @Parameter(name = "deviceId", description = "璁惧鍥芥爣缂栧彿", required = true) @DeleteMapping("/devices/{deviceId}/delete") - public ResponseEntity<String> delete(@PathVariable String deviceId){ + public String delete(@PathVariable String deviceId){ if (logger.isDebugEnabled()) { logger.debug("璁惧淇℃伅鍒犻櫎API璋冪敤锛宒eviceId锛�" + deviceId); @@ -200,10 +198,10 @@ } JSONObject json = new JSONObject(); json.put("deviceId", deviceId); - return new ResponseEntity<>(json.toString(),HttpStatus.OK); + return json.toString(); } else { logger.warn("璁惧淇℃伅鍒犻櫎API璋冪敤澶辫触锛�"); - return new ResponseEntity<String>("璁惧淇℃伅鍒犻櫎API璋冪敤澶辫触锛�", HttpStatus.INTERNAL_SERVER_ERROR); + throw new ControllerException(ErrorCode.ERROR100.getCode(), "璁惧淇℃伅鍒犻櫎API璋冪敤澶辫触锛�"); } } @@ -402,7 +400,8 @@ wvpResult.setCode(-1); wvpResult.setMsg("鍚屾灏氭湭寮�濮�"); }else { - wvpResult.setCode(0); + wvpResult.setCode(ErrorCode.SUCCESS.getCode()); + wvpResult.setMsg(ErrorCode.SUCCESS.getMsg()); wvpResult.setData(channelSyncStatus); if (channelSyncStatus.getErrorMsg() != null) { wvpResult.setMsg(channelSyncStatus.getErrorMsg()); -- Gitblit v1.8.0