From 5cd2e2c41b6460ea628b158e9f22b6788e99eee1 Mon Sep 17 00:00:00 2001
From: lishuyuan <lishuyuan@inspur.com>
Date: 星期三, 01 十一月 2023 15:17:28 +0800
Subject: [PATCH] bugfix:设备地址变化会引起目录订阅任务失效,需要重新添加

---
 src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformCatalogMapper.java |   52 ++++++++++++++++++++++++++++++++--------------------
 1 files changed, 32 insertions(+), 20 deletions(-)

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
old mode 100644
new mode 100755
index 19e7d1a..62d6101
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformCatalogMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformCatalogMapper.java
@@ -3,6 +3,7 @@
 import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel;
 import com.genersoft.iot.vmp.gb28181.bean.PlatformCatalog;
 import org.apache.ibatis.annotations.*;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -12,43 +13,54 @@
 @Repository
 public interface PlatformCatalogMapper {
 
-    @Insert("INSERT INTO platform_catalog (id, name, platform_id, parent_id, civil_code, business_group_id) VALUES" +
+    @Insert("INSERT INTO wvp_platform_catalog (id, name, platform_id, parent_id, civil_code, business_group_id) VALUES" +
             "(#{id}, #{name}, #{platformId}, #{parentId}, #{civilCode}, #{businessGroupId})")
     int add(PlatformCatalog platformCatalog);
 
-    @Delete("DELETE from wvp_platform_catalog WHERE id=#{id}")
-    int del(String id);
+    @Delete("DELETE from wvp_platform_catalog WHERE platform_id=#{platformId} and id=#{id}")
+    int del(@Param("platformId") String platformId, @Param("id") String id);
 
     @Delete("DELETE from wvp_platform_catalog WHERE platform_id=#{platformId}")
-    int delByPlatformId(String platformId);
+    int delByPlatformId(@Param("platformId") String platformId);
 
     @Select("SELECT pc.*, count(pc2.id) as children_count from wvp_platform_catalog pc " +
             "left join wvp_platform_catalog pc2 on pc.id = pc2.parent_id " +
             "WHERE pc.parent_id=#{parentId} AND pc.platform_id=#{platformId} " +
             "group by pc.id, pc.name, pc.platform_id, pc.business_group_id, pc.civil_code, pc.parent_id")
-    List<PlatformCatalog> selectByParentId(String platformId, String parentId);
-
-    @Select("SELECT *, (SELECT COUNT(1) from wvp_platform_catalog where parent_id = pc.id) as children_count  from wvp_platform_catalog pc WHERE pc.id=#{id}")
-    PlatformCatalog select(String id);
+    List<PlatformCatalog> selectByParentId(@Param("platformId") String platformId, @Param("parentId") String parentId);
 
     @Update(value = {" <script>" +
-            "UPDATE platform_catalog " +
-            "SET name=#{name}" +
-            "WHERE id=#{id}"+
+            "UPDATE wvp_platform_catalog " +
+            "SET name=#{platformCatalog.name}" +
+            "WHERE id=#{platformCatalog.id} and platform_id=#{platformCatalog.platformId}"+
             "</script>"})
-    int update(PlatformCatalog platformCatalog);
+    int update(@Param("platformCatalog") PlatformCatalog platformCatalog);
 
     @Select("SELECT *, (SELECT COUNT(1) from wvp_platform_catalog where parent_id = pc.id) as children_count  from wvp_platform_catalog pc WHERE pc.platform_id=#{platformId}")
-    List<PlatformCatalog> selectByPlatForm(String platformId);
+    List<PlatformCatalog> selectByPlatForm(@Param("platformId") String platformId);
 
-    @Select("SELECT pc.* FROM  platform_catalog pc WHERE pc.id = (SELECT pp.catalog_id from wvp_platform pp WHERE pp.server_gb_id=#{platformId})")
-    PlatformCatalog selectDefaultByPlatFormId(String platformId);
-
-
-    @Select("SELECT pc.* FROM  platform_catalog pc WHERE pc.id = #{id}")
-    PlatformCatalog selectParentCatalog(String id);
+    @Select("SELECT pc.* FROM  wvp_platform_catalog pc WHERE pc.id = (SELECT pp.catalog_id from wvp_platform pp WHERE pp.server_gb_id=#{platformId})")
+    PlatformCatalog selectDefaultByPlatFormId(@Param("platformId") String platformId);
 
     @Select("SELECT pc.id as channel_id, pc.name, pc.civil_code, pc.business_group_id,'1' as parental, pc.parent_id  " +
             " from wvp_platform_catalog pc WHERE pc.platform_id=#{platformId}")
-    List<DeviceChannel> queryCatalogInPlatform(String platformId);
+    List<DeviceChannel> queryCatalogInPlatform(@Param("platformId") String platformId);
+
+    @Select("SELECT *, " +
+            "(SELECT COUNT(1) from wvp_platform_catalog where parent_id = pc.id) as children_count " +
+            " from wvp_platform_catalog pc " +
+            " WHERE pc.id=#{id} and pc.platform_id=#{platformId}")
+    PlatformCatalog selectByPlatFormAndCatalogId(@Param("platformId") String platformId, @Param("id") String id);
+
+
+    @Delete("<script> "+
+            "DELETE from wvp_platform_catalog where platform_id=#{platformId} and id in " +
+            "<foreach collection='ids' item='item' open='(' separator=',' close=')'>" +
+            "#{item} " +
+            "</foreach>" +
+            "</script>")
+    int deleteAll(String platformId, List<String> ids);
+
+    @Select("SELECT id from wvp_platform_catalog WHERE platform_id=#{platformId} and parent_id = #{id}")
+    List<String> queryCatalogFromParent(@Param("id") String id, @Param("platformId") String platformId);
 }

--
Gitblit v1.8.0