From 21a96ad20fd75e55d03c00af8df8adb039f0c77a Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期二, 20 六月 2023 12:51:06 +0800 Subject: [PATCH] 修复通道刷新 --- src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformChannelMapper.java | 80 ++++++++++++++++++++++++++-------------- 1 files changed, 52 insertions(+), 28 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 index 4f5de2b..3aeb0e0 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformChannelMapper.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/PlatformChannelMapper.java @@ -21,57 +21,64 @@ * 鏌ヨ鍒楄〃閲屽凡缁忓叧鑱旂殑 */ @Select("<script> "+ - "SELECT deviceAndChannelId FROM platform_gb_channel WHERE platformId='${platformId}' AND deviceAndChannelId in" + - "<foreach collection='deviceAndChannelIds' open='(' item='id_' separator=',' close=')'> '${id_}'</foreach> ORDER BY deviceAndChannelId ASC" + + "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<String> findChannelRelatedPlatform(String platformId, List<String> deviceAndChannelIds); + List<Integer> findChannelRelatedPlatform(String platformId, List<ChannelReduce> channelReduces); @Insert("<script> "+ - "INSERT INTO platform_gb_channel (channelId, deviceId, platformId, deviceAndChannelId, catalogId) VALUES" + + "INSERT INTO wvp_platform_gb_channel (platform_id, device_channel_id, catalog_id) VALUES" + "<foreach collection='channelReducesToAdd' item='item' separator=','>" + - " ('${item.channelId}','${item.deviceId}', '${platformId}', '${item.deviceId}_${item.channelId}' , '${item.catalogId}' )" + + " (#{platformId}, #{item.id} , #{item.catalogId} )" + "</foreach>" + "</script>") int addChannels(String platformId, List<ChannelReduce> channelReducesToAdd); - @Delete("<script> "+ - "DELETE FROM platform_gb_channel WHERE platformId='${platformId}' AND deviceAndChannelId in" + - "<foreach collection='channelReducesToDel' item='item' open='(' separator=',' close=')' > '${item.deviceId}_${item.channelId}'</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); @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(String platformId, String channelId); - @Select("SELECT * FROM device_channel WHERE deviceId = (SELECT deviceId FROM platform_gb_channel WHERE " + - "platformId='${platformId}' AND channelId='${channelId}' ) AND channelId='${channelId}'") - DeviceChannel queryChannelInParentPlatform(String platformId, String channelId); + @Select("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} and pgc.catalog_id=#{catalogId}") + List<DeviceChannel> queryAllChannelInCatalog(String platformId, String catalogId); - - @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}") + @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(String platformId, String catalogId); - @Select("SELECT * FROM device WHERE deviceId = (SELECT deviceId FROM platform_gb_channel WHERE platformId='${platformId}' AND channelId='${channelId}')") - Device queryVideoDeviceByPlatformIdAndChannelId(String platformId, String channelId); + @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(String platformId, String channelId); @Delete("<script> "+ - "DELETE FROM platform_gb_channel WHERE catalogId=#{id}" + + "DELETE from wvp_platform_gb_channel WHERE catalog_id=#{id}" + "</script>") int delByCatalogId(String id); @Delete("<script> "+ - "DELETE FROM platform_gb_channel WHERE catalogId=#{parentId} AND platformId=#{platformId} AND channelId=#{id}" + + "DELETE from wvp_platform_gb_channel WHERE catalog_id=#{parentId} AND platform_id=#{platformId} AND channel_id=#{id}" + "</script>") int delByCatalogIdAndChannelIdAndPlatformId(PlatformCatalog platformCatalog); @@ -79,18 +86,35 @@ "SELECT " + "pp.* " + "FROM " + - "parent_platform pp " + - "left join platform_gb_channel pgc on " + - "pp.serverGBId = pgc.platformId " + + "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 " + - "pgc.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); @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} and catalog_id=#{catalogId}" + + "</script>") + int delChannelForGBByCatalogId(String platformId, 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(String platformId, 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(String channelId); } -- Gitblit v1.8.0