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