From 28b5cc39d0a2d9939f70b4c980a31d9b27fc1e4c Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期二, 19 七月 2022 14:27:30 +0800 Subject: [PATCH] 修复更新推流状态sql错误 --- src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/device/DeviceQuery.java | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 101 insertions(+), 1 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 5e1e40b..29f9d88 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 @@ -12,9 +12,11 @@ import com.genersoft.iot.vmp.gb28181.transmit.callback.DeferredResultHolder; import com.genersoft.iot.vmp.gb28181.transmit.callback.RequestMessage; import com.genersoft.iot.vmp.gb28181.transmit.cmd.impl.SIPCommander; +import com.genersoft.iot.vmp.service.IDeviceChannelService; import com.genersoft.iot.vmp.service.IDeviceService; import com.genersoft.iot.vmp.storager.IRedisCatchStorage; import com.genersoft.iot.vmp.storager.IVideoManagerStorage; +import com.genersoft.iot.vmp.vmanager.bean.BaseTree; import com.genersoft.iot.vmp.vmanager.bean.WVPResult; import com.github.pagehelper.PageInfo; import io.swagger.annotations.Api; @@ -50,6 +52,9 @@ @Autowired private IVideoManagerStorage storager; + + @Autowired + private IDeviceChannelService deviceChannelService; @Autowired private IRedisCatchStorage redisCatchStorage; @@ -279,7 +284,7 @@ }) @PostMapping("/channel/update/{deviceId}") public ResponseEntity<PageInfo> updateChannel(@PathVariable String deviceId,DeviceChannel channel){ - storager.updateChannel(deviceId, channel); + deviceChannelService.updateChannel(deviceId, channel); return new ResponseEntity<>(null,HttpStatus.OK); } @@ -479,4 +484,99 @@ resp.setStatus(HttpServletResponse.SC_NOT_FOUND); } } + + /** + * 鏌ヨ鍥芥爣鏍� + * @param deviceId 璁惧ID + * @param parentId 鐖禝D + * @param page 褰撳墠椤� + * @param count 姣忛〉鏉℃暟 + * @return 鍥芥爣璁惧 + */ + @ApiOperation("鏌ヨ鍥芥爣鏍�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "deviceId", value = "璁惧ID", required = true, dataTypeClass = String.class), + @ApiImplicitParam(name = "parentId", value = "鐖禝D", required = false, dataTypeClass = String.class), + @ApiImplicitParam(name = "onlyCatalog", value = "鍙幏鍙栫洰褰�", required = false, dataTypeClass = Boolean.class), + @ApiImplicitParam(name="page", value = "褰撳墠椤�", required = true, dataTypeClass = Integer.class), + @ApiImplicitParam(name="count", value = "姣忛〉鏉℃暟", required = true, dataTypeClass = Integer.class), + }) + @GetMapping("/tree/{deviceId}") + public ResponseEntity<PageInfo> getTree(@PathVariable String deviceId, @RequestParam(required = false) String parentId, @RequestParam(required = false) Boolean onlyCatalog, int page, int count){ + + + if (page <= 0) { + page = 1; + } + if (onlyCatalog == null) { + onlyCatalog = false; + } + + List<BaseTree<DeviceChannel>> treeData = deviceService.queryVideoDeviceTree(deviceId, parentId, onlyCatalog); + if (treeData == null || (page - 1) * count > treeData.size()) { + PageInfo<BaseTree<DeviceChannel>> pageInfo = new PageInfo<>(); + pageInfo.setPageNum(page); + pageInfo.setTotal(treeData == null? 0 : treeData.size()); + pageInfo.setSize(0); + pageInfo.setList(new ArrayList<>()); + return new ResponseEntity<>(pageInfo,HttpStatus.OK); + } + + int toIndex = Math.min(page * count, treeData.size()); + // 澶勭悊鍒嗛〉 + List<BaseTree<DeviceChannel>> trees = treeData.subList((page - 1) * count, toIndex); + PageInfo<BaseTree<DeviceChannel>> pageInfo = new PageInfo<>(); + pageInfo.setPageNum(page); + pageInfo.setTotal(treeData.size()); + pageInfo.setSize(trees.size()); + pageInfo.setList(trees); + + return new ResponseEntity<>(pageInfo,HttpStatus.OK); + } + + + /** + * 鏌ヨ鍥芥爣鏍戜笅鐨勯�氶亾 + * @param deviceId 璁惧ID + * @param parentId 鐖禝D + * @param page 褰撳墠椤� + * @param count 姣忛〉鏉℃暟 + * @return 鍥芥爣璁惧 + */ + @ApiOperation("鏌ヨ鍥芥爣鏍戜笅鐨勯�氶亾") + @ApiImplicitParams({ + @ApiImplicitParam(name = "deviceId", value = "璁惧ID", required = true, dataTypeClass = String.class), + @ApiImplicitParam(name = "parentId", value = "鐖禝D", required = false, dataTypeClass = String.class), + @ApiImplicitParam(name="page", value = "褰撳墠椤�", required = true, dataTypeClass = Integer.class), + @ApiImplicitParam(name="count", value = "姣忛〉鏉℃暟", required = true, dataTypeClass = Integer.class), + }) + @GetMapping("/tree/channel/{deviceId}") + public ResponseEntity<PageInfo> getChannelInTreeNode(@PathVariable String deviceId, @RequestParam(required = false) String parentId, int page, int count){ + + + if (page <= 0) { + page = 1; + } + + List<DeviceChannel> treeData = deviceService.queryVideoDeviceInTreeNode(deviceId, parentId); + if (treeData == null || (page - 1) * count > treeData.size()) { + PageInfo<BaseTree<DeviceChannel>> pageInfo = new PageInfo<>(); + pageInfo.setPageNum(page); + pageInfo.setTotal(treeData == null? 0 : treeData.size()); + pageInfo.setSize(0); + pageInfo.setList(new ArrayList<>()); + return new ResponseEntity<>(pageInfo,HttpStatus.OK); + } + + int toIndex = Math.min(page * count, treeData.size()); + // 澶勭悊鍒嗛〉 + List<DeviceChannel> trees = treeData.subList((page - 1) * count, toIndex); + PageInfo<DeviceChannel> pageInfo = new PageInfo<>(); + pageInfo.setPageNum(page); + pageInfo.setTotal(treeData.size()); + pageInfo.setSize(trees.size()); + pageInfo.setList(trees); + + return new ResponseEntity<>(pageInfo,HttpStatus.OK); + } } -- Gitblit v1.8.0