From f8ef14bfea43abd8716aab15f5e302e7c1f23f79 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 11 六月 2024 10:08:13 +0800
Subject: [PATCH] 修复移动位置位置订阅上报间隔为0的bug

---
 src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformChannelMapper.java |  105 +++++++++++++++++++++++++++++++++-------------------
 1 files changed, 66 insertions(+), 39 deletions(-)

diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformChannelMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformChannelMapper.java
old mode 100644
new mode 100755
index 0abff27..f5ce3f0
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformChannelMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformChannelMapper.java
@@ -8,6 +8,7 @@
 import org.apache.ibatis.annotations.Delete;
 import org.apache.ibatis.annotations.Insert;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 import org.springframework.stereotype.Repository;
 
@@ -21,57 +22,67 @@
      * 鏌ヨ鍒楄〃閲屽凡缁忓叧鑱旂殑
      */
     @Select("<script> "+
-            "SELECT deviceChannelId FROM platform_gb_channel WHERE platformId='${platformId}' AND deviceChannelId in" +
-            "<foreach collection='channelReduces' open='(' item='item' separator=',' close=')'> '${item.id}'</foreach>" +
+            "SELECT device_channel_id from wvp_platform_gb_channel WHERE platform_id=#{platformId} AND device_channel_id in" +
+            "<foreach collection='channelReduces' open='(' item='item' separator=',' close=')'> #{item.id}</foreach>" +
             "</script>")
-    List<Integer> findChannelRelatedPlatform(String platformId, List<ChannelReduce> channelReduces);
+    List<Integer> findChannelRelatedPlatform(@Param("platformId") String platformId, @Param("channelReduces") List<ChannelReduce> channelReduces);
 
     @Insert("<script> "+
-            "INSERT INTO platform_gb_channel (platformId, deviceChannelId, catalogId) VALUES" +
+            "INSERT INTO wvp_platform_gb_channel (platform_id, device_channel_id, catalog_id) VALUES" +
             "<foreach collection='channelReducesToAdd'  item='item' separator=','>" +
-            " ('${platformId}', '${item.id}' , '${item.catalogId}' )" +
+            " (#{platformId}, #{item.id} , #{item.catalogId} )" +
             "</foreach>" +
             "</script>")
-    int addChannels(String platformId, List<ChannelReduce> channelReducesToAdd);
-
+    int addChannels(@Param("platformId") String platformId, @Param("channelReducesToAdd") List<ChannelReduce> channelReducesToAdd);
 
     @Delete("<script> "+
-            "DELETE FROM platform_gb_channel WHERE platformId='${platformId}' AND deviceChannelId in" +
-            "<foreach collection='channelReducesToDel'  item='item'  open='(' separator=',' close=')' > '${item.id}'</foreach>" +
+            "DELETE from wvp_platform_gb_channel WHERE platform_id=#{platformId} AND device_channel_id in" +
+            "<foreach collection='channelReducesToDel'  item='item'  open='(' separator=',' close=')' > #{item.id}</foreach>" +
             "</script>")
-    int delChannelForGB(String platformId, List<ChannelReduce> channelReducesToDel);
+    int delChannelForGB(@Param("platformId") String platformId, @Param("channelReducesToDel") List<ChannelReduce> channelReducesToDel);
 
     @Delete("<script> "+
-            "DELETE FROM platform_gb_channel WHERE deviceId='${deviceId}' " +
+            "DELETE from wvp_platform_gb_channel WHERE device_channel_id in " +
+            "( select  temp.device_channel_id from " +
+            "(select pgc.device_channel_id from wvp_platform_gb_channel pgc " +
+            "left join wvp_device_channel dc on dc.id = pgc.device_channel_id where dc.device_id  =#{deviceId} " +
+            ") temp)" +
             "</script>")
     int delChannelForDeviceId(String deviceId);
 
     @Delete("<script> "+
-            "DELETE FROM platform_gb_channel WHERE platformId='${platformId}'"  +
+            "DELETE from wvp_platform_gb_channel WHERE platform_id=#{platformId}"  +
             "</script>")
     int cleanChannelForGB(String platformId);
 
+    @Select("SELECT dc.* from wvp_platform_gb_channel pgc left join wvp_device_channel dc on dc.id = pgc.device_channel_id WHERE dc.channel_id=#{channelId} and pgc.platform_id=#{platformId}")
+    List<DeviceChannel> queryChannelInParentPlatform(@Param("platformId") String platformId, @Param("channelId") String channelId);
 
-    @Select("SELECT dc.* FROM platform_gb_channel pgc left join device_channel dc on dc.id = pgc.deviceChannelId WHERE " +
-            "pgc.platformId=#{platformId} AND dc.channelId=#{channelId}")
-    DeviceChannel queryChannelInParentPlatform(String platformId, String channelId);
-
-
-    @Select("select dc.channelId as id, dc.name as name, pgc.platformId as platformId, pgc.catalogId as parentId, 0 as childrenCount, 1 as type " +
-            "from device_channel dc left join platform_gb_channel pgc on dc.deviceId = pgc.deviceId and dc.channelId = pgc.channelId " +
-            "where pgc.platformId=#{platformId} and pgc.catalogId=#{catalogId}")
-    List<PlatformCatalog> queryChannelInParentPlatformAndCatalog(String platformId, String catalogId);
-
-    @Select("SELECT * FROM device WHERE deviceId = (SELECT deviceId FROM platform_gb_channel pgc left join device_channel dc on dc.id = pgc.deviceChannelId WHERE pgc.platformId='${platformId}' AND dc.channelId='${channelId}')")
-    Device queryVideoDeviceByPlatformIdAndChannelId(String platformId, String channelId);
-
-    @Delete("<script> "+
-            "DELETE FROM platform_gb_channel WHERE catalogId=#{id}"  +
+    @Select("<script> "+
+            "SELECT dc.* from wvp_platform_gb_channel pgc left join wvp_device_channel dc on dc.id = pgc.device_channel_id WHERE pgc.platform_id=#{platformId} " +
+            " <if test='catalogId != null' > and pgc.catalog_id=#{catalogId}</if>" +
             "</script>")
-    int delByCatalogId(String id);
+    List<DeviceChannel> queryAllChannelInCatalog(@Param("platformId") String platformId, @Param("catalogId") String catalogId);
+
+    @Select(" select dc.channel_id as id, dc.name as name, pgc.platform_id as platform_id, pgc.catalog_id as parent_id, 0 as children_count, 1 as type " +
+            " from wvp_device_channel dc left join wvp_platform_gb_channel pgc on dc.id = pgc.device_channel_id " +
+            " where pgc.platform_id=#{platformId} and pgc.catalog_id=#{catalogId}")
+    List<PlatformCatalog> queryChannelInParentPlatformAndCatalog(@Param("platformId") String platformId, @Param("catalogId") String catalogId);
+
+    @Select("select d.*\n" +
+            "from wvp_platform_gb_channel pgc\n" +
+            "         left join wvp_device_channel dc on dc.id = pgc.device_channel_id\n" +
+            "         left join wvp_device d on dc.device_id = d.device_id\n" +
+            "where dc.channel_id = #{channelId} and pgc.platform_id=#{platformId}")
+    List<Device> queryVideoDeviceByPlatformIdAndChannelId(@Param("platformId") String platformId, @Param("channelId") String channelId);
 
     @Delete("<script> "+
-           "DELETE FROM platform_gb_channel  WHERE catalogId=#{parentId} AND platformId=#{platformId} AND channelId=#{id}"  +
+            "DELETE from wvp_platform_gb_channel WHERE platform_id=#{platformId} and catalog_id=#{id}"  +
+            "</script>")
+    int delByCatalogId(@Param("platformId") String platformId, @Param("id") String id);
+
+    @Delete("<script> "+
+           "DELETE from wvp_platform_gb_channel  WHERE catalog_id=#{parentId} AND platform_id=#{platformId} AND channel_id=#{id}"  +
            "</script>")
     int delByCatalogIdAndChannelIdAndPlatformId(PlatformCatalog platformCatalog);
 
@@ -79,20 +90,36 @@
             "SELECT " +
             "pp.* " +
             "FROM " +
-            "parent_platform pp " +
-            "left join platform_gb_channel pgc on " +
-            "pp.serverGBId = pgc.platformId " +
-            "left join device_channel dc on " +
-            "dc.id = pgc.deviceChannelId " +
+            "wvp_platform pp " +
+            "left join wvp_platform_gb_channel pgc on " +
+            "pp.server_gb_id = pgc.platform_id " +
+            "left join wvp_device_channel dc on " +
+            "dc.id = pgc.device_channel_id " +
             "WHERE " +
-            "dc.channelId = #{channelId} and pp.status = true " +
-            "AND pp.serverGBId IN" +
-            "<foreach collection='platforms'  item='item'  open='(' separator=',' close=')' > #{item}</foreach>" +
+            "dc.channel_id = #{channelId} and pp.status = true " +
+            "AND pp.server_gb_id IN" +
+            "<foreach collection='platforms' item='item'  open='(' separator=',' close=')' > #{item}</foreach>" +
             "</script> ")
-    List<ParentPlatform> queryPlatFormListForGBWithGBId(String channelId, List<String> platforms);
+    List<ParentPlatform> queryPlatFormListForGBWithGBId(@Param("channelId") String channelId, @Param("platforms") List<String> platforms);
 
     @Delete("<script> " +
-           "DELETE FROM platform_gb_channel WHERE platformId=#{serverGBId}"  +
+           "DELETE from wvp_platform_gb_channel WHERE platform_id=#{serverGBId}"  +
            "</script>")
     void delByPlatformId(String serverGBId);
+
+    @Delete("<script> " +
+            "DELETE from wvp_platform_gb_channel WHERE platform_id=#{platformId} " +
+            " <if test=\"catalogId != null\" >  and catalog_id=#{catalogId}</if>" +
+            "</script>")
+    int delChannelForGBByCatalogId(@Param("platformId") String platformId, @Param("catalogId") String catalogId);
+
+    @Select("select dc.channel_id dc.device_id,dc.name,d.manufacturer,d.model,d.firmware\n" +
+            "from wvp_platform_gb_channel pgc\n" +
+            "         left join wvp_device_channel dc on dc.id = pgc.device_channel_id\n" +
+            "         left join wvp_device d on dc.device_id = d.device_id\n" +
+            "where dc.channel_id = #{channelId} and pgc.platform_id=#{platformId}")
+    List<Device> queryDeviceInfoByPlatformIdAndChannelId(@Param("platformId") String platformId, @Param("channelId") String channelId);
+
+    @Select("SELECT pgc.platform_id from wvp_platform_gb_channel pgc left join wvp_device_channel dc on dc.id = pgc.device_channel_id WHERE dc.channel_id=#{channelId}")
+    List<String> queryParentPlatformByChannelId(@Param("channelId") String channelId);
 }

--
Gitblit v1.8.0