From a42dda2bd3cc1cf8c20cc61e7ad9211eadecbaf3 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期四, 24 二月 2022 16:55:06 +0800 Subject: [PATCH] 规范数据库,添加必要约束,优化通道批量导入功能 --- src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java | 25 +++++++++++++++++++------ 1 files changed, 19 insertions(+), 6 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 b9891ca..d9357d2 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 @@ -10,8 +10,10 @@ import com.genersoft.iot.vmp.service.IDeviceService; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; import com.genersoft.iot.vmp.storager.IVideoManagerStorager; +import com.genersoft.iot.vmp.vmanager.bean.DeviceChannelTree; import com.genersoft.iot.vmp.vmanager.bean.WVPResult; import com.github.pagehelper.PageInfo; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -25,6 +27,7 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.context.request.async.DeferredResult; +import java.util.List; import java.util.UUID; @Api(tags = "鍥芥爣璁惧鏌ヨ", value = "鍥芥爣璁惧鏌ヨ") @@ -153,12 +156,15 @@ // 榛樿瓒呮椂鏃堕棿涓�30鍒嗛挓 DeferredResult<ResponseEntity<Device>> result = new DeferredResult<ResponseEntity<Device>>(30*60*1000L); result.onTimeout(()->{ - logger.warn(String.format("璁惧閫氶亾淇℃伅鍚屾瓒呮椂")); + logger.warn("璁惧[{}]閫氶亾淇℃伅鍚屾瓒呮椂", deviceId); + // 閲婃斁rtpserver RequestMessage msg = new RequestMessage(); msg.setKey(key); + msg.setId(uuid); WVPResult<Object> wvpResult = new WVPResult<>(); - wvpResult.setCode(0); - wvpResult.setMsg("Timeout"); + wvpResult.setCode(-1); + wvpResult.setData(device); + wvpResult.setMsg("鏇存柊瓒呮椂"); msg.setData(wvpResult); resultHolder.invokeAllResult(msg); @@ -170,8 +176,10 @@ cmder.catalogQuery(device, event -> { RequestMessage msg = new RequestMessage(); msg.setKey(key); + msg.setId(uuid); WVPResult<Object> wvpResult = new WVPResult<>(); - wvpResult.setCode(0); + wvpResult.setCode(-1); + wvpResult.setData(device); wvpResult.setMsg(String.format("鍚屾閫氶亾澶辫触锛岄敊璇爜锛� %s, %s", event.statusCode, event.msg)); msg.setData(wvpResult); resultHolder.invokeAllResult(msg); @@ -311,7 +319,8 @@ if (!StringUtils.isEmpty(device.getCharset())) deviceInStore.setCharset(device.getCharset()); if (!StringUtils.isEmpty(device.getMediaServerId())) deviceInStore.setMediaServerId(device.getMediaServerId()); - if (deviceInStore.getSubscribeCycleForCatalog() <=0 && device.getSubscribeCycleForCatalog() > 0) { + if ((deviceInStore.getSubscribeCycleForCatalog() <=0 && device.getSubscribeCycleForCatalog() > 0) + || deviceInStore.getSubscribeCycleForCatalog() != device.getSubscribeCycleForCatalog()) { deviceInStore.setSubscribeCycleForCatalog(device.getSubscribeCycleForCatalog()); // 寮�鍚闃� deviceService.addCatalogSubscribe(deviceInStore); @@ -425,5 +434,9 @@ return result; } - + @GetMapping("/{deviceId}/tree") + @ApiOperation(value = "閫氶亾鏍戝舰缁撴瀯", notes = "閫氶亾鏍戝舰缁撴瀯") + public WVPResult<List<DeviceChannelTree>> tree(@PathVariable String deviceId) { + return WVPResult.Data(storager.tree(deviceId)); + } } -- Gitblit v1.8.0