mk1990
2022-06-20 3d6db7478d79b824f93708f936c598cc622221f2
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java
@@ -339,9 +339,14 @@
      if (logger.isDebugEnabled()) {
         logger.debug("设备状态查询API调用");
      }
      Device device = storager.queryVideoDevice(deviceId);
      String uuid = UUID.randomUUID().toString();
      String key = DeferredResultHolder.CALLBACK_CMD_DEVICESTATUS + deviceId;
      Device device = storager.queryVideoDevice(deviceId);
      DeferredResult<ResponseEntity<String>> result = new DeferredResult<ResponseEntity<String>>(2*1000L);
      if(device == null) {
         result.setResult(new ResponseEntity(String.format("设备%s不存在", deviceId),HttpStatus.OK));
         return result;
      }
      cmder.deviceStatusQuery(device, event -> {
         RequestMessage msg = new RequestMessage();
         msg.setId(uuid);
@@ -349,7 +354,7 @@
         msg.setData(String.format("获取设备状态失败,错误码: %s, %s", event.statusCode, event.msg));
         resultHolder.invokeResult(msg);
      });
        DeferredResult<ResponseEntity<String>> result = new DeferredResult<ResponseEntity<String>>(2*1000L);
      result.onTimeout(()->{
         logger.warn(String.format("获取设备状态超时"));
         // 释放rtpserver