648540858
2022-01-25 abc65c6317db3d57c501615125b5a4e17b0448c9
优化目录移除时默认目录的选择
5个文件已修改
44 ■■■■■ 已修改文件
src/main/java/com/genersoft/iot/vmp/storager/IVideoManagerStorager.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformCatalogMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/storager/impl/VideoManagerStoragerImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/platform/PlatformController.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web_src/src/components/dialog/chooseChannelForCatalog.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
                }
              }
            })