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/DeviceConfig.java | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceConfig.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceConfig.java index d20a29e..d0eb81d 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceConfig.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceConfig.java @@ -21,6 +21,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; 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; @@ -62,7 +63,7 @@ @Parameter(name = "expiration", description = "鍒版湡鏃堕棿") @Parameter(name = "heartBeatInterval", description = "蹇冭烦闂撮殧") @Parameter(name = "heartBeatCount", description = "蹇冭烦璁℃暟") - public DeferredResult<ResponseEntity<String>> homePositionApi(@PathVariable String deviceId, + public DeferredResult<String> homePositionApi(@PathVariable String deviceId, String channelId, @RequestParam(required = false) String name, @RequestParam(required = false) String expiration, @@ -81,7 +82,7 @@ msg.setData(String.format("璁惧閰嶇疆鎿嶄綔澶辫触锛岄敊璇爜锛� %s, %s", event.statusCode, event.msg)); resultHolder.invokeResult(msg); }); - DeferredResult<ResponseEntity<String>> result = new DeferredResult<ResponseEntity<String>>(3 * 1000L); + DeferredResult<String> result = new DeferredResult<String>(3 * 1000L); result.onTimeout(() -> { logger.warn(String.format("璁惧閰嶇疆鎿嶄綔瓒呮椂, 璁惧鏈繑鍥炲簲绛旀寚浠�")); // 閲婃斁rtpserver @@ -111,13 +112,13 @@ @Parameter(name = "channelId", description = "閫氶亾鍥芥爣缂栧彿", required = true) @Parameter(name = "configType", description = "閰嶇疆绫诲瀷") @GetMapping("/query/{deviceId}/{configType}") - public DeferredResult<ResponseEntity<String>> configDownloadApi(@PathVariable String deviceId, + public DeferredResult<String> configDownloadApi(@PathVariable String deviceId, @PathVariable String configType, @RequestParam(required = false) String channelId) { if (logger.isDebugEnabled()) { logger.debug("璁惧鐘舵�佹煡璇PI璋冪敤"); } - String key = DeferredResultHolder.CALLBACK_CMD_CONFIGDOWNLOAD + (StringUtils.isEmpty(channelId) ? deviceId : channelId); + String key = DeferredResultHolder.CALLBACK_CMD_CONFIGDOWNLOAD + (ObjectUtils.isEmpty(channelId) ? deviceId : channelId); String uuid = UUID.randomUUID().toString(); Device device = storager.queryVideoDevice(deviceId); cmder.deviceConfigQuery(device, channelId, configType, event -> { @@ -127,7 +128,7 @@ msg.setData(String.format("鑾峰彇璁惧閰嶇疆澶辫触锛岄敊璇爜锛� %s, %s", event.statusCode, event.msg)); resultHolder.invokeResult(msg); }); - DeferredResult<ResponseEntity<String>> result = new DeferredResult<ResponseEntity<String >> (3 * 1000L); + DeferredResult<String> result = new DeferredResult<String > (3 * 1000L); result.onTimeout(()->{ logger.warn(String.format("鑾峰彇璁惧閰嶇疆瓒呮椂")); // 閲婃斁rtpserver -- Gitblit v1.8.0