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 | 278 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 254 insertions(+), 24 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 9a41522..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 @@ -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.ParentPlatform; import org.apache.ibatis.annotations.*; +import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import java.util.List; @@ -14,21 +14,69 @@ @Repository public interface DeviceMapper { - @Select("SELECT * FROM device WHERE deviceId = #{deviceId}") + @Select("SELECT " + + "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," + + "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," + - "online" + + "host_address," + + "expires," + + "register_time," + + "keepalive_time," + + "keepalive_interval_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"+ ") VALUES (" + "#{deviceId}," + "#{name}," + @@ -38,31 +86,213 @@ "#{transport}," + "#{streamMode}," + "#{ip}," + + "#{sdpIp}," + + "#{localIp}," + "#{port}," + "#{hostAddress}," + - "#{online}" + + "#{expires}," + + "#{registerTime}," + + "#{keepaliveTime}," + + "#{keepaliveIntervalTime}," + + "#{createTime}," + + "#{updateTime}," + + "#{charset}," + + "#{subscribeCycleForCatalog}," + + "#{subscribeCycleForMobilePosition}," + + "#{mobilePositionSubmissionInterval}," + + "#{subscribeCycleForAlarm}," + + "#{ssrcCheck}," + + "#{asMessageChannel}," + + "#{broadcastPushAfterAck}," + + "#{geoCoordSys}," + + "#{onLine}" + ")") int add(Device device); - - @Update("UPDATE device " + - "SET name=#{name}, " + - "manufacturer=#{manufacturer}," + - "model=#{model}," + - "firmware=#{firmware}, " + - "transport=#{transport}," + - "streamMode=#{streamMode}, " + - "ip=#{ip}, " + - "port=#{port}, " + - "hostAddress=#{hostAddress}, " + - "online=#{online} " + - "WHERE deviceId=#{deviceId}") + @Update(value = {" <script>" + + "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 *, (SELECT count(0) FROM device_channel WHERE deviceId=de.deviceId) as channelCount FROM device de") - List<Device> getDevices(); + @Select( + " <script>" + + "SELECT " + + "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,"+ + "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); + @Select("SELECT " + + "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 on_line = true") + List<Device> getOnlineDevices(); + @Select("SELECT " + + "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 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>"}) + void updateCustom(Device device); + + @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}," + + "#{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