From 1de344674afd6bb35b51b165bbad76dbe6299b7e Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 28 三月 2024 18:08:33 +0800
Subject: [PATCH] 使用冒号分隔redis的key

---
 src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMapper.java |  348 ++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 196 insertions(+), 152 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
old mode 100644
new mode 100755
index 03dba38..f41bf72
--- a/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMapper.java
+++ b/src/main/java/com/genersoft/iot/vmp/storager/dao/DeviceMapper.java
@@ -2,6 +2,7 @@
 
 import com.genersoft.iot.vmp.gb28181.bean.Device;
 import org.apache.ibatis.annotations.*;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -14,59 +15,68 @@
 public interface DeviceMapper {
 
     @Select("SELECT " +
-            "deviceId, " +
+            "device_id, " +
             "coalesce(custom_name, name) as name, " +
             "password, " +
             "manufacturer, " +
             "model, " +
             "firmware, " +
             "transport," +
-            "streamMode," +
+            "stream_mode," +
             "ip," +
+            "sdp_ip," +
+            "local_ip," +
             "port," +
-            "hostAddress," +
+            "host_address," +
             "expires," +
-            "registerTime," +
-            "keepaliveTime," +
-            "createTime," +
-            "updateTime," +
+            "register_time," +
+            "keepalive_time," +
+            "create_time," +
+            "update_time," +
             "charset," +
-            "subscribeCycleForCatalog," +
-            "subscribeCycleForMobilePosition," +
-            "mobilePositionSubmissionInterval," +
-            "subscribeCycleForAlarm," +
-            "ssrcCheck," +
-            "geoCoordSys," +
-            "treeType," +
-            "online" +
-            " FROM device WHERE deviceId = #{deviceId}")
+            "subscribe_cycle_for_catalog," +
+            "subscribe_cycle_for_mobile_position," +
+            "mobile_position_submission_interval," +
+            "subscribe_cycle_for_alarm," +
+            "ssrc_check," +
+            "as_message_channel," +
+            "geo_coord_sys," +
+            "on_line," +
+            "media_server_id," +
+            "broadcast_push_after_ack," +
+            "(SELECT count(0) FROM wvp_device_channel WHERE device_id=wvp_device.device_id) as channel_count "+
+            " FROM wvp_device WHERE device_id = #{deviceId}")
     Device getDeviceByDeviceId(String deviceId);
 
-    @Insert("INSERT INTO device (" +
-                "deviceId, " +
+    @Insert("INSERT INTO wvp_device (" +
+                "device_id, " +
                 "name, " +
                 "manufacturer, " +
                 "model, " +
                 "firmware, " +
                 "transport," +
-                "streamMode," +
+                "stream_mode," +
                 "ip," +
+                "sdp_ip," +
+                "local_ip," +
                 "port," +
-                "hostAddress," +
+                "host_address," +
                 "expires," +
-                "registerTime," +
-                "keepaliveTime," +
-                "createTime," +
-                "updateTime," +
+                "register_time," +
+                "keepalive_time," +
+                "keepalive_interval_time," +
+                "create_time," +
+                "update_time," +
                 "charset," +
-                "subscribeCycleForCatalog," +
-                "subscribeCycleForMobilePosition," +
-                "mobilePositionSubmissionInterval," +
-                "subscribeCycleForAlarm," +
-                "ssrcCheck," +
-                "geoCoordSys," +
-                "treeType," +
-                "online" +
+                "subscribe_cycle_for_catalog," +
+                "subscribe_cycle_for_mobile_position,"+
+                "mobile_position_submission_interval,"+
+                "subscribe_cycle_for_alarm,"+
+                "ssrc_check,"+
+                "as_message_channel,"+
+                "broadcast_push_after_ack,"+
+                "geo_coord_sys,"+
+                "on_line"+
             ") VALUES (" +
                 "#{deviceId}," +
                 "#{name}," +
@@ -76,11 +86,14 @@
                 "#{transport}," +
                 "#{streamMode}," +
                 "#{ip}," +
+                "#{sdpIp}," +
+                "#{localIp}," +
                 "#{port}," +
                 "#{hostAddress}," +
                 "#{expires}," +
                 "#{registerTime}," +
                 "#{keepaliveTime}," +
+                "#{keepaliveIntervalTime}," +
                 "#{createTime}," +
                 "#{updateTime}," +
                 "#{charset}," +
@@ -89,166 +102,197 @@
                 "#{mobilePositionSubmissionInterval}," +
                 "#{subscribeCycleForAlarm}," +
                 "#{ssrcCheck}," +
+                "#{asMessageChannel}," +
+                "#{broadcastPushAfterAck}," +
                 "#{geoCoordSys}," +
-                "#{treeType}," +
-                "#{online}" +
+                "#{onLine}" +
             ")")
     int add(Device device);
 
     @Update(value = {" <script>" +
-                "UPDATE device " +
-                "SET updateTime='${updateTime}'" +
-                "<if test=\"name != null\">, name='${name}'</if>" +
-                "<if test=\"manufacturer != null\">, manufacturer='${manufacturer}'</if>" +
-                "<if test=\"model != null\">, model='${model}'</if>" +
-                "<if test=\"firmware != null\">, firmware='${firmware}'</if>" +
-                "<if test=\"transport != null\">, transport='${transport}'</if>" +
-                "<if test=\"ip != null\">, ip='${ip}'</if>" +
-                "<if test=\"port != null\">, port=${port}</if>" +
-                "<if test=\"hostAddress != null\">, hostAddress='${hostAddress}'</if>" +
-                "<if test=\"online != null\">, online=${online}</if>" +
-                "<if test=\"registerTime != null\">, registerTime='${registerTime}'</if>" +
-                "<if test=\"keepaliveTime != null\">, keepaliveTime='${keepaliveTime}'</if>" +
-                "<if test=\"expires != null\">, expires=${expires}</if>" +
-                "WHERE deviceId='${deviceId}'"+
+                "UPDATE wvp_device " +
+                "SET update_time=#{updateTime}" +
+                "<if test=\"name != null\">, name=#{name}</if>" +
+                "<if test=\"manufacturer != null\">, manufacturer=#{manufacturer}</if>" +
+                "<if test=\"model != null\">, model=#{model}</if>" +
+                "<if test=\"firmware != null\">, firmware=#{firmware}</if>" +
+                "<if test=\"transport != null\">, transport=#{transport}</if>" +
+                "<if test=\"ip != null\">, ip=#{ip}</if>" +
+                "<if test=\"localIp != null\">, local_ip=#{localIp}</if>" +
+                "<if test=\"port != null\">, port=#{port}</if>" +
+                "<if test=\"hostAddress != null\">, host_address=#{hostAddress}</if>" +
+                "<if test=\"onLine != null\">, on_line=#{onLine}</if>" +
+                "<if test=\"registerTime != null\">, register_time=#{registerTime}</if>" +
+                "<if test=\"keepaliveTime != null\">, keepalive_time=#{keepaliveTime}</if>" +
+                "<if test=\"keepaliveIntervalTime != null\">, keepalive_interval_time=#{keepaliveIntervalTime}</if>" +
+                "<if test=\"expires != null\">, expires=#{expires}</if>" +
+                "WHERE device_id=#{deviceId}"+
             " </script>"})
     int update(Device device);
 
-    @Select("SELECT " +
-            "deviceId, " +
+    @Select(
+            " <script>" +
+            "SELECT " +
+            "device_id, " +
             "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();
+            "stream_mode," +
+            "ip,"+
+            "sdp_ip,"+
+            "local_ip,"+
+            "port,"+
+            "host_address,"+
+            "expires,"+
+            "register_time,"+
+            "keepalive_time,"+
+            "create_time,"+
+            "update_time,"+
+            "charset,"+
+            "subscribe_cycle_for_catalog,"+
+            "subscribe_cycle_for_mobile_position,"+
+            "mobile_position_submission_interval,"+
+            "subscribe_cycle_for_alarm,"+
+            "ssrc_check,"+
+            "as_message_channel,"+
+            "broadcast_push_after_ack,"+
+            "geo_coord_sys,"+
+            "on_line,"+
+            "media_server_id,"+
+            "(SELECT count(0) FROM wvp_device_channel WHERE device_id=de.device_id) as channel_count " +
+            "FROM wvp_device de" +
+            "<if test=\"onLine != null\"> where on_line=${onLine}</if>"+
+            " order by create_time desc "+
+            " </script>"
+    )
+    List<Device> getDevices(Boolean onLine);
 
-    @Delete("DELETE FROM device WHERE deviceId=#{deviceId}")
+    @Delete("DELETE FROM wvp_device WHERE device_id=#{deviceId}")
     int del(String deviceId);
 
-    @Update("UPDATE device SET online=0")
-    int outlineForAll();
-
     @Select("SELECT " +
-            "deviceId, " +
+            "device_id, " +
             "coalesce(custom_name, name) as name, " +
             "password, " +
             "manufacturer, " +
             "model, " +
             "firmware, " +
             "transport," +
-            "streamMode," +
+            "stream_mode," +
             "ip," +
-            "port," +
-            "hostAddress," +
-            "expires," +
-            "registerTime," +
-            "keepaliveTime," +
-            "createTime," +
-            "updateTime," +
-            "charset," +
-            "subscribeCycleForCatalog," +
-            "subscribeCycleForMobilePosition," +
-            "mobilePositionSubmissionInterval," +
-            "subscribeCycleForAlarm," +
-            "ssrcCheck," +
-            "geoCoordSys," +
-            "treeType," +
-            "online " +
-            " FROM device WHERE online = 1")
+            "sdp_ip,"+
+            "local_ip,"+
+            "port,"+
+            "host_address,"+
+            "expires,"+
+            "register_time,"+
+            "keepalive_time,"+
+            "create_time,"+
+            "update_time,"+
+            "charset,"+
+            "subscribe_cycle_for_catalog,"+
+            "subscribe_cycle_for_mobile_position,"+
+            "mobile_position_submission_interval,"+
+            "subscribe_cycle_for_alarm,"+
+            "ssrc_check,"+
+            "as_message_channel,"+
+            "broadcast_push_after_ack,"+
+            "geo_coord_sys,"+
+            "on_line"+
+            " FROM wvp_device WHERE on_line = true")
     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);
+            "device_id,"+
+            "coalesce(custom_name,name)as name,"+
+            "password,"+
+            "manufacturer,"+
+            "model,"+
+            "firmware,"+
+            "transport,"+
+            "stream_mode,"+
+            "ip,"+
+            "sdp_ip,"+
+            "local_ip,"+
+            "port,"+
+            "host_address,"+
+            "expires,"+
+            "register_time,"+
+            "keepalive_time,"+
+            "create_time,"+
+            "update_time,"+
+            "charset,"+
+            "subscribe_cycle_for_catalog,"+
+            "subscribe_cycle_for_mobile_position,"+
+            "mobile_position_submission_interval,"+
+            "subscribe_cycle_for_alarm,"+
+            "ssrc_check,"+
+            "as_message_channel,"+
+            "broadcast_push_after_ack,"+
+            "geo_coord_sys,"+
+            "on_line"+
+            " FROM wvp_device WHERE ip = #{host} AND port=#{port}")
+    Device getDeviceByHostAndPort(@Param("host") String host, @Param("port") 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}'"+
+            "UPDATE wvp_device " +
+            "SET update_time=#{updateTime}" +
+            "<if test=\"name != null\">, custom_name=#{name}</if>" +
+            "<if test=\"password != null\">, password=#{password}</if>" +
+            "<if test=\"streamMode != null\">, stream_mode=#{streamMode}</if>" +
+            "<if test=\"ip != null\">, ip=#{ip}</if>" +
+            "<if test=\"sdpIp != null\">, sdp_ip=#{sdpIp}</if>" +
+            "<if test=\"port != null\">, port=#{port}</if>" +
+            "<if test=\"charset != null\">, charset=#{charset}</if>" +
+            "<if test=\"subscribeCycleForCatalog != null\">, subscribe_cycle_for_catalog=#{subscribeCycleForCatalog}</if>" +
+            "<if test=\"subscribeCycleForMobilePosition != null\">, subscribe_cycle_for_mobile_position=#{subscribeCycleForMobilePosition}</if>" +
+            "<if test=\"mobilePositionSubmissionInterval != null\">, mobile_position_submission_interval=#{mobilePositionSubmissionInterval}</if>" +
+            "<if test=\"subscribeCycleForAlarm != null\">, subscribe_cycle_for_alarm=#{subscribeCycleForAlarm}</if>" +
+            "<if test=\"ssrcCheck != null\">, ssrc_check=#{ssrcCheck}</if>" +
+            "<if test=\"asMessageChannel != null\">, as_message_channel=#{asMessageChannel}</if>" +
+            "<if test=\"broadcastPushAfterAck != null\">, broadcast_push_after_ack=#{broadcastPushAfterAck}</if>" +
+            "<if test=\"geoCoordSys != null\">, geo_coord_sys=#{geoCoordSys}</if>" +
+            "<if test=\"mediaServerId != null\">, media_server_id=#{mediaServerId}</if>" +
+            "WHERE device_id=#{deviceId}"+
             " </script>"})
-    int updateCustom(Device device);
+    void updateCustom(Device device);
 
-    @Insert("INSERT INTO device (" +
-            "deviceId, " +
-            "custom_name, " +
-            "password, " +
-            "createTime," +
-            "updateTime," +
-            "charset," +
-            "ssrcCheck," +
-            "geoCoordSys," +
-            "treeType," +
-            "online" +
+    @Insert("INSERT INTO wvp_device (" +
+            "device_id,"+
+            "custom_name,"+
+            "password,"+
+            "sdp_ip,"+
+            "create_time,"+
+            "update_time,"+
+            "charset,"+
+            "ssrc_check,"+
+            "as_message_channel,"+
+            "broadcast_push_after_ack,"+
+            "geo_coord_sys,"+
+            "on_line,"+
+            "media_server_id"+
             ") VALUES (" +
             "#{deviceId}," +
             "#{name}," +
             "#{password}," +
+            "#{sdpIp}," +
             "#{createTime}," +
             "#{updateTime}," +
             "#{charset}," +
             "#{ssrcCheck}," +
+            "#{asMessageChannel}," +
+            "#{broadcastPushAfterAck}," +
             "#{geoCoordSys}," +
-            "#{treeType}," +
-            "#{online}" +
+            "#{onLine}," +
+            "#{mediaServerId}" +
             ")")
     void addCustomDevice(Device device);
+
+    @Select("select * FROM wvp_device")
+    List<Device> getAll();
+
+    @Select("select * FROM wvp_device where  as_message_channel = true")
+    List<Device> queryDeviceWithAsMessageChannel();
 }

--
Gitblit v1.8.0