Commit 4d2c36edcd43d18e30c354bfb88ed2a9ff8e5a94
1 parent
ddfe4a7b
fix设备状态查询接口
Showing
2 changed files
with
6 additions
and
2 deletions
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/event/request/impl/message/response/cmd/DeviceStatusResponseMessageHandler.java
| @@ -82,7 +82,7 @@ public class DeviceStatusResponseMessageHandler extends SIPRequestProcessorParen | @@ -82,7 +82,7 @@ public class DeviceStatusResponseMessageHandler extends SIPRequestProcessorParen | ||
| 82 | deviceService.offline(device.getDeviceId()); | 82 | deviceService.offline(device.getDeviceId()); |
| 83 | } | 83 | } |
| 84 | RequestMessage msg = new RequestMessage(); | 84 | RequestMessage msg = new RequestMessage(); |
| 85 | - msg.setKey(DeferredResultHolder.CALLBACK_CMD_DEVICESTATUS + device.getDeviceId() + channelId); | 85 | + msg.setKey(DeferredResultHolder.CALLBACK_CMD_DEVICESTATUS + device.getDeviceId()); |
| 86 | msg.setData(json); | 86 | msg.setData(json); |
| 87 | deferredResultHolder.invokeAllResult(msg); | 87 | deferredResultHolder.invokeAllResult(msg); |
| 88 | } | 88 | } |
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java
| @@ -342,6 +342,11 @@ public class DeviceQuery { | @@ -342,6 +342,11 @@ public class DeviceQuery { | ||
| 342 | Device device = storager.queryVideoDevice(deviceId); | 342 | Device device = storager.queryVideoDevice(deviceId); |
| 343 | String uuid = UUID.randomUUID().toString(); | 343 | String uuid = UUID.randomUUID().toString(); |
| 344 | String key = DeferredResultHolder.CALLBACK_CMD_DEVICESTATUS + deviceId; | 344 | String key = DeferredResultHolder.CALLBACK_CMD_DEVICESTATUS + deviceId; |
| 345 | + DeferredResult<ResponseEntity<String>> result = new DeferredResult<ResponseEntity<String>>(2*1000L); | ||
| 346 | + if(device == null) { | ||
| 347 | + result.setResult(new ResponseEntity(String.format("设备%s不存在", deviceId),HttpStatus.OK)); | ||
| 348 | + return result; | ||
| 349 | + } | ||
| 345 | cmder.deviceStatusQuery(device, event -> { | 350 | cmder.deviceStatusQuery(device, event -> { |
| 346 | RequestMessage msg = new RequestMessage(); | 351 | RequestMessage msg = new RequestMessage(); |
| 347 | msg.setId(uuid); | 352 | msg.setId(uuid); |
| @@ -349,7 +354,6 @@ public class DeviceQuery { | @@ -349,7 +354,6 @@ public class DeviceQuery { | ||
| 349 | msg.setData(String.format("获取设备状态失败,错误码: %s, %s", event.statusCode, event.msg)); | 354 | msg.setData(String.format("获取设备状态失败,错误码: %s, %s", event.statusCode, event.msg)); |
| 350 | resultHolder.invokeResult(msg); | 355 | resultHolder.invokeResult(msg); |
| 351 | }); | 356 | }); |
| 352 | - DeferredResult<ResponseEntity<String>> result = new DeferredResult<ResponseEntity<String>>(2*1000L); | ||
| 353 | result.onTimeout(()->{ | 357 | result.onTimeout(()->{ |
| 354 | logger.warn(String.format("获取设备状态超时")); | 358 | logger.warn(String.format("获取设备状态超时")); |
| 355 | // 释放rtpserver | 359 | // 释放rtpserver |