src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java
@@ -470,4 +470,6 @@ void delCatalogByPlatformId(String serverGBId); void delRelationByPlatformId(String serverGBId); PlatformCatalog queryDefaultCatalogInPlatform(String platformId); } src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformCatalogMapper.java
@@ -41,4 +41,7 @@ @Select("SELECT *, (SELECT COUNT(1) from platform_catalog where parentId = pc.id) as childrenCount FROM platform_catalog pc WHERE pc.platformId=#{platformId}") List<PlatformCatalog> selectByPlatForm(String platformId); @Select("SELECT pc.* FROM platform_catalog pc WHERE pc.id = (SELECT pp.catalogId from parent_platform pp WHERE pp.serverGBId=#{platformId})") PlatformCatalog selectDefaultByPlatFormId(String platformId); } src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java
@@ -1058,4 +1058,9 @@ platformGbStreamMapper.delByPlatformId(serverGBId); platformChannelMapper.delByPlatformId(serverGBId); } @Override public PlatformCatalog queryDefaultCatalogInPlatform(String platformId) { return catalogMapper.selectDefaultByPlatFormId(platformId); } } src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java
@@ -465,25 +465,30 @@ }) @DeleteMapping("/catalog/del") @ResponseBody public ResponseEntity<WVPResult<List<PlatformCatalog>>> delCatalog(String id){ public ResponseEntity<WVPResult<String>> delCatalog(String id, String platformId){ if (logger.isDebugEnabled()) { logger.debug("删除目录,{}", id); } // 如果删除的是默认目录则根目录设置为默认目录 PlatformCatalog catalog = storager.getCatalog(id); if (catalog != null) { ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(catalog.getPlatformId()); if (parentPlatform != null) { if (id.equals(parentPlatform.getCatalogId())) { storager.setDefaultCatalog(parentPlatform.getServerGBId(), parentPlatform.getServerGBId()); } } WVPResult<String> result = new WVPResult<>(); if (StringUtils.isEmpty(id) || StringUtils.isEmpty(platformId)) { result.setCode(-1); result.setMsg("param error"); return new ResponseEntity<>(result, HttpStatus.BAD_REQUEST); } result.setCode(0); int delResult = storager.delCatalog(id); WVPResult<List<PlatformCatalog>> result = new WVPResult<>(); result.setCode(0); // 如果删除的是默认目录则根目录设置为默认目录 PlatformCatalog parentPlatform = storager.queryDefaultCatalogInPlatform(platformId); // 默认节点被移除 if (parentPlatform == null) { storager.setDefaultCatalog(platformId, platformId); result.setData(platformId); } if (delResult > 0) { result.setMsg("success"); web_src/src/components/dialog/chooseChannelForCatalog.vue
@@ -132,6 +132,7 @@ url:`/api/platform/catalog/del`, params: { id: id, platformId: this.platformId, } }) .then((res) => { @@ -139,8 +140,8 @@ console.log("移除成功") node.parent.loaded = false node.parent.expand(); if(this.defaultCatalogId === id) { this.defaultCatalogId = this.platformId; if (res.data.data) { this.defaultCatalogId = res.data.data; } } })