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 | 82 | deviceService.offline(device.getDeviceId()); |
| 83 | 83 | } |
| 84 | 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 | 86 | msg.setData(json); |
| 87 | 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 | 342 | Device device = storager.queryVideoDevice(deviceId); |
| 343 | 343 | String uuid = UUID.randomUUID().toString(); |
| 344 | 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 | 350 | cmder.deviceStatusQuery(device, event -> { |
| 346 | 351 | RequestMessage msg = new RequestMessage(); |
| 347 | 352 | msg.setId(uuid); |
| ... | ... | @@ -349,7 +354,6 @@ public class DeviceQuery { |
| 349 | 354 | msg.setData(String.format("获取设备状态失败,错误码: %s, %s", event.statusCode, event.msg)); |
| 350 | 355 | resultHolder.invokeResult(msg); |
| 351 | 356 | }); |
| 352 | - DeferredResult<ResponseEntity<String>> result = new DeferredResult<ResponseEntity<String>>(2*1000L); | |
| 353 | 357 | result.onTimeout(()->{ |
| 354 | 358 | logger.warn(String.format("获取设备状态超时")); |
| 355 | 359 | // 释放rtpserver | ... | ... |