From 1af77ab5f7c11a4b3d59c1989b51b9fca29679ce Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期二, 18 十月 2022 22:18:49 +0800 Subject: [PATCH] Merge pull request #645 from IKangXu/wvp-28181-2.0 --- src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMapper.java | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 163 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMapper.java b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMapper.java index aab8d77..03dba38 100644 --- a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMapper.java +++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMapper.java @@ -13,7 +13,33 @@ @Repository public interface DeviceMapper { - @Select("SELECT * FROM device WHERE deviceId = #{deviceId}") + @Select("SELECT " + + "deviceId, " + + "coalesce(custom_name, name) as name, " + + "password, " + + "manufacturer, " + + "model, " + + "firmware, " + + "transport," + + "streamMode," + + "ip," + + "port," + + "hostAddress," + + "expires," + + "registerTime," + + "keepaliveTime," + + "createTime," + + "updateTime," + + "charset," + + "subscribeCycleForCatalog," + + "subscribeCycleForMobilePosition," + + "mobilePositionSubmissionInterval," + + "subscribeCycleForAlarm," + + "ssrcCheck," + + "geoCoordSys," + + "treeType," + + "online" + + " FROM device WHERE deviceId = #{deviceId}") Device getDeviceByDeviceId(String deviceId); @Insert("INSERT INTO device (" + @@ -37,6 +63,9 @@ "subscribeCycleForMobilePosition," + "mobilePositionSubmissionInterval," + "subscribeCycleForAlarm," + + "ssrcCheck," + + "geoCoordSys," + + "treeType," + "online" + ") VALUES (" + "#{deviceId}," + @@ -59,6 +88,9 @@ "#{subscribeCycleForMobilePosition}," + "#{mobilePositionSubmissionInterval}," + "#{subscribeCycleForAlarm}," + + "#{ssrcCheck}," + + "#{geoCoordSys}," + + "#{treeType}," + "#{online}" + ")") int add(Device device); @@ -71,7 +103,6 @@ "<if test=\"model != null\">, model='${model}'</if>" + "<if test=\"firmware != null\">, firmware='${firmware}'</if>" + "<if test=\"transport != null\">, transport='${transport}'</if>" + - "<if test=\"streamMode != null\">, streamMode='${streamMode}'</if>" + "<if test=\"ip != null\">, ip='${ip}'</if>" + "<if test=\"port != null\">, port=${port}</if>" + "<if test=\"hostAddress != null\">, hostAddress='${hostAddress}'</if>" + @@ -79,16 +110,37 @@ "<if test=\"registerTime != null\">, registerTime='${registerTime}'</if>" + "<if test=\"keepaliveTime != null\">, keepaliveTime='${keepaliveTime}'</if>" + "<if test=\"expires != null\">, expires=${expires}</if>" + - "<if test=\"charset != null\">, charset='${charset}'</if>" + - "<if test=\"subscribeCycleForCatalog != null\">, subscribeCycleForCatalog=${subscribeCycleForCatalog}</if>" + - "<if test=\"subscribeCycleForMobilePosition != null\">, subscribeCycleForMobilePosition=${subscribeCycleForMobilePosition}</if>" + - "<if test=\"mobilePositionSubmissionInterval != null\">, mobilePositionSubmissionInterval=${mobilePositionSubmissionInterval}</if>" + - "<if test=\"subscribeCycleForAlarm != null\">, subscribeCycleForAlarm=${subscribeCycleForAlarm}</if>" + "WHERE deviceId='${deviceId}'"+ " </script>"}) int update(Device device); - @Select("SELECT *, (SELECT count(0) FROM device_channel WHERE deviceId=de.deviceId) as channelCount FROM device de") + @Select("SELECT " + + "deviceId, " + + "coalesce(custom_name, name) as name, " + + "password, " + + "manufacturer, " + + "model, " + + "firmware, " + + "transport," + + "streamMode," + + "ip," + + "port," + + "hostAddress," + + "expires," + + "registerTime," + + "keepaliveTime," + + "createTime," + + "updateTime," + + "charset," + + "subscribeCycleForCatalog," + + "subscribeCycleForMobilePosition," + + "mobilePositionSubmissionInterval," + + "subscribeCycleForAlarm," + + "ssrcCheck," + + "geoCoordSys," + + "treeType," + + "online," + + "(SELECT count(0) FROM device_channel WHERE deviceId=de.deviceId) as channelCount FROM device de") List<Device> getDevices(); @Delete("DELETE FROM device WHERE deviceId=#{deviceId}") @@ -96,4 +148,107 @@ @Update("UPDATE device SET online=0") int outlineForAll(); + + @Select("SELECT " + + "deviceId, " + + "coalesce(custom_name, name) as name, " + + "password, " + + "manufacturer, " + + "model, " + + "firmware, " + + "transport," + + "streamMode," + + "ip," + + "port," + + "hostAddress," + + "expires," + + "registerTime," + + "keepaliveTime," + + "createTime," + + "updateTime," + + "charset," + + "subscribeCycleForCatalog," + + "subscribeCycleForMobilePosition," + + "mobilePositionSubmissionInterval," + + "subscribeCycleForAlarm," + + "ssrcCheck," + + "geoCoordSys," + + "treeType," + + "online " + + " FROM device WHERE online = 1") + List<Device> getOnlineDevices(); + @Select("SELECT " + + "deviceId, " + + "coalesce(custom_name, name) as name, " + + "password, " + + "manufacturer, " + + "model, " + + "firmware, " + + "transport," + + "streamMode," + + "ip," + + "port," + + "hostAddress," + + "expires," + + "registerTime," + + "keepaliveTime," + + "createTime," + + "updateTime," + + "charset," + + "subscribeCycleForCatalog," + + "subscribeCycleForMobilePosition," + + "mobilePositionSubmissionInterval," + + "subscribeCycleForAlarm," + + "ssrcCheck," + + "geoCoordSys," + + "treeType," + + "online" + + " FROM device WHERE ip = #{host} AND port=${port}") + Device getDeviceByHostAndPort(String host, int port); + + @Update(value = {" <script>" + + "UPDATE device " + + "SET updateTime='${updateTime}'" + + "<if test=\"name != null\">, custom_name='${name}'</if>" + + "<if test=\"password != null\">, password='${password}'</if>" + + "<if test=\"streamMode != null\">, streamMode='${streamMode}'</if>" + + "<if test=\"ip != null\">, ip='${ip}'</if>" + + "<if test=\"port != null\">, port=${port}</if>" + + "<if test=\"charset != null\">, charset='${charset}'</if>" + + "<if test=\"subscribeCycleForCatalog != null\">, subscribeCycleForCatalog=${subscribeCycleForCatalog}</if>" + + "<if test=\"subscribeCycleForMobilePosition != null\">, subscribeCycleForMobilePosition=${subscribeCycleForMobilePosition}</if>" + + "<if test=\"mobilePositionSubmissionInterval != null\">, mobilePositionSubmissionInterval=${mobilePositionSubmissionInterval}</if>" + + "<if test=\"subscribeCycleForAlarm != null\">, subscribeCycleForAlarm=${subscribeCycleForAlarm}</if>" + + "<if test=\"ssrcCheck != null\">, ssrcCheck=${ssrcCheck}</if>" + + "<if test=\"geoCoordSys != null\">, geoCoordSys=#{geoCoordSys}</if>" + + "<if test=\"treeType != null\">, treeType=#{treeType}</if>" + + "<if test=\"mediaServerId != null\">, mediaServerId=#{mediaServerId}</if>" + + "WHERE deviceId='${deviceId}'"+ + " </script>"}) + int updateCustom(Device device); + + @Insert("INSERT INTO device (" + + "deviceId, " + + "custom_name, " + + "password, " + + "createTime," + + "updateTime," + + "charset," + + "ssrcCheck," + + "geoCoordSys," + + "treeType," + + "online" + + ") VALUES (" + + "#{deviceId}," + + "#{name}," + + "#{password}," + + "#{createTime}," + + "#{updateTime}," + + "#{charset}," + + "#{ssrcCheck}," + + "#{geoCoordSys}," + + "#{treeType}," + + "#{online}" + + ")") + void addCustomDevice(Device device); } -- Gitblit v1.8.0