Browse Source

优化目录移除时默认目录的选择

pull/324/head
648540858 3 years ago
parent
commit
abc65c6317
  1. 2
      src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java
  2. 3
      src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformCatalogMapper.java
  3. 5
      src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java
  4. 29
      src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java
  5. 5
      web_src/src/components/dialog/chooseChannelForCatalog.vue

2
src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java

@ -470,4 +470,6 @@ public interface IVideoManagerStorager {
void delCatalogByPlatformId(String serverGBId);
void delRelationByPlatformId(String serverGBId);
PlatformCatalog queryDefaultCatalogInPlatform(String platformId);
}

3
src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformCatalogMapper.java

@ -41,4 +41,7 @@ public interface PlatformCatalogMapper {
@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);
}

5
src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java

@ -1058,4 +1058,9 @@ public class VideoManagerStoragerImpl implements IVideoManagerStorager {
platformGbStreamMapper.delByPlatformId(serverGBId);
platformChannelMapper.delByPlatformId(serverGBId);
}
@Override
public PlatformCatalog queryDefaultCatalogInPlatform(String platformId) {
return catalogMapper.selectDefaultByPlatFormId(platformId);
}
}

29
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java

@ -465,25 +465,30 @@ public class PlatformController {
})
@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");

5
web_src/src/components/dialog/chooseChannelForCatalog.vue

@ -132,6 +132,7 @@ export default {
url:`/api/platform/catalog/del`,
params: {
id: id,
platformId: this.platformId,
}
})
.then((res) => {
@ -139,8 +140,8 @@ export default {
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;
}
}
})

Loading…
Cancel
Save