From 809e4c98c5c801b05ad22116a69728f8d3751abb Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期三, 04 一月 2023 10:41:17 +0800 Subject: [PATCH] Merge remote-tracking branch 'gitee.com/wvp-28181-2.0' into wvp-28181-2.0 --- src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java | 24 ++++++++++++++++++------ 1 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java index 3ef412d..386cce3 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceChannelMapper.java @@ -1,8 +1,8 @@ package com.genersoft.iot.vmp.storager.dao; -import com.genersoft.iot.vmp.gb28181.bean.Device; import com.genersoft.iot.vmp.gb28181.bean.DeviceChannel; import com.genersoft.iot.vmp.gb28181.bean.DeviceChannelInPlatform; +import com.genersoft.iot.vmp.vmanager.bean.ResourceBaceInfo; import com.genersoft.iot.vmp.vmanager.gb28181.platform.bean.ChannelReduce; import org.apache.ibatis.annotations.*; import org.springframework.stereotype.Repository; @@ -71,14 +71,17 @@ "WHERE " + "dc.deviceId = #{deviceId} " + " <if test='query != null'> AND (dc.channelId LIKE '%${query}%' OR dc.name LIKE '%${query}%' OR dc.name LIKE '%${query}%')</if> " + - " <if test='parentChannelId != null'> AND dc.parentId=#{parentChannelId} </if> " + + " <if test='parentChannelId != null'> AND (dc.parentId=#{parentChannelId} OR dc.civilCode = #{parentChannelId}) </if> " + " <if test='online == true' > AND dc.status=1</if>" + " <if test='online == false' > AND dc.status=0</if>" + " <if test='hasSubChannel == true' > AND dc.subCount > 0 </if>" + " <if test='hasSubChannel == false' > AND dc.subCount = 0 </if>" + + "<if test='channelIds != null'> AND dc.channelId in <foreach item='item' index='index' collection='channelIds' open='(' separator=',' close=')'>" + + "#{item} " + + "</foreach> </if>" + "ORDER BY dc.channelId " + " </script>"}) - List<DeviceChannel> queryChannels(String deviceId, String parentChannelId, String query, Boolean hasSubChannel, Boolean online); + List<DeviceChannel> queryChannels(String deviceId, String parentChannelId, String query, Boolean hasSubChannel, Boolean online,List<String> channelIds); @Select("SELECT * FROM device_channel WHERE deviceId=#{deviceId} AND channelId=#{channelId}") DeviceChannel queryChannel(String deviceId, String channelId); @@ -254,11 +257,14 @@ " <if test='online == false' > AND dc1.status=0</if>" + " <if test='hasSubChannel == true' > AND dc1.subCount >0</if>" + " <if test='hasSubChannel == false' > AND dc1.subCount=0</if>" + + "<if test='channelIds != null'> AND dc1.channelId in <foreach item='item' index='index' collection='channelIds' open='(' separator=',' close=')'>" + + "#{item} " + + "</foreach> </if>" + "ORDER BY dc1.channelId ASC " + "Limit #{limit} OFFSET #{start}" + " </script>"}) List<DeviceChannel> queryChannelsByDeviceIdWithStartAndLimit(String deviceId, String parentChannelId, String query, - Boolean hasSubChannel, Boolean online, int start, int limit); + Boolean hasSubChannel, Boolean online, int start, int limit,List<String> channelIds); @Select("SELECT * FROM device_channel WHERE deviceId=#{deviceId} AND status=1") List<DeviceChannel> queryOnlineChannelsByDeviceId(String deviceId); @@ -309,8 +315,10 @@ "select * " + "from device_channel " + "where deviceId=#{deviceId}" + - " <if test='parentId != null' > and left(channelId, ${parentId.length()}) = #{parentId}</if>" + - " <if test='length != null' > and length(channelId)=${length}</if>" + + " <if test='parentId != null and length != null' > and parentId = #{parentId} or left(channelId, ${parentId.length()}) = #{parentId} and length(channelId)=${length} </if>" + + " <if test='parentId == null and length != null' > and parentId = #{parentId} or length(channelId)=${length} </if>" + + " <if test='parentId == null and length == null' > and parentId = #{parentId} </if>" + + " <if test='parentId != null and length == null' > and parentId = #{parentId} or left(channelId, ${parentId.length()}) = #{parentId} </if>" + " </script>"}) List<DeviceChannel> getChannelsWithCivilCodeAndLength(String deviceId, String parentId, Integer length); @@ -345,4 +353,8 @@ @Select("select * from device_channel where deviceId = #{deviceId}") List<DeviceChannel> queryAllChannels(String deviceId); + + + @Select("select count(1) as total, sum(status) as online from device_channel") + ResourceBaceInfo getOverview(); } -- Gitblit v1.8.0