From abc65c6317db3d57c501615125b5a4e17b0448c9 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期二, 25 一月 2022 17:14:10 +0800 Subject: [PATCH] 优化目录移除时默认目录的选择 --- src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java | 2 ++ src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java | 29 +++++++++++++++++------------ src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformCatalogMapper.java | 3 +++ web_src/src/components/dialog/chooseChannelForCatalog.vue | 5 +++-- src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java | 5 +++++ 5 files changed, 30 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java b/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java index e4bda3f..038fe2b 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java +++ b/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); } diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformCatalogMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformCatalogMapper.java index 59ecdbc..95015bd 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformCatalogMapper.java +++ b/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); } diff --git a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java b/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java index 98f3594..816a749 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java +++ b/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); + } } diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java index 1111ff7..532d928 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java +++ b/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"); diff --git a/web_src/src/components/dialog/chooseChannelForCatalog.vue b/web_src/src/components/dialog/chooseChannelForCatalog.vue index 5133caa..2d87bdd 100644 --- a/web_src/src/components/dialog/chooseChannelForCatalog.vue +++ b/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; } } }) -- Gitblit v1.8.0