package com.genersoft.iot.vmp.storager.dao; import com.genersoft.iot.vmp.gb28181.bean.Device; import com.genersoft.iot.vmp.vmanager.bean.ResourceBaceInfo; import org.apache.ibatis.annotations.*; import org.springframework.stereotype.Repository; import java.util.List; /** * 用于存储设备信息 */ @Mapper @Repository public interface DeviceMapper { @Select("SELECT " + "deviceId, " + "coalesce(custom_name, name) as name, " + "password, " + "manufacturer, " + "model, " + "firmware, " + "transport," + "streamMode," + "ip," + "sdpIp," + "localIp," + "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 (" + "deviceId, " + "name, " + "manufacturer, " + "model, " + "firmware, " + "transport," + "streamMode," + "ip," + "sdpIp," + "localIp," + "port," + "hostAddress," + "expires," + "registerTime," + "keepaliveTime," + "keepaliveIntervalTime," + "createTime," + "updateTime," + "charset," + "subscribeCycleForCatalog," + "subscribeCycleForMobilePosition," + "mobilePositionSubmissionInterval," + "subscribeCycleForAlarm," + "ssrcCheck," + "geoCoordSys," + "treeType," + "online" + ") VALUES (" + "#{deviceId}," + "#{name}," + "#{manufacturer}," + "#{model}," + "#{firmware}," + "#{transport}," + "#{streamMode}," + "#{ip}," + "#{sdpIp}," + "#{localIp}," + "#{port}," + "#{hostAddress}," + "#{expires}," + "#{registerTime}," + "#{keepaliveTime}," + "#{keepaliveIntervalTime}," + "#{createTime}," + "#{updateTime}," + "#{charset}," + "#{subscribeCycleForCatalog}," + "#{subscribeCycleForMobilePosition}," + "#{mobilePositionSubmissionInterval}," + "#{subscribeCycleForAlarm}," + "#{ssrcCheck}," + "#{geoCoordSys}," + "#{treeType}," + "#{online}" + ")") int add(Device device); @Update(value = {" "}) int update(Device device); @Select( " " ) List getDevices(Boolean online); @Delete("DELETE FROM device WHERE deviceId=#{deviceId}") int del(String deviceId); @Update("UPDATE device SET online=0") int outlineForAll(); @Select("SELECT " + "deviceId, " + "coalesce(custom_name, name) as name, " + "password, " + "manufacturer, " + "model, " + "firmware, " + "transport," + "streamMode," + "ip," + "sdpIp," + "localIp," + "port," + "hostAddress," + "expires," + "registerTime," + "keepaliveTime," + "createTime," + "updateTime," + "charset," + "subscribeCycleForCatalog," + "subscribeCycleForMobilePosition," + "mobilePositionSubmissionInterval," + "subscribeCycleForAlarm," + "ssrcCheck," + "geoCoordSys," + "treeType," + "online " + " FROM device WHERE online = 1") List getOnlineDevices(); @Select("SELECT " + "deviceId, " + "coalesce(custom_name, name) as name, " + "password, " + "manufacturer, " + "model, " + "firmware, " + "transport," + "streamMode," + "ip," + "sdpIp," + "localIp," + "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 = {" "}) int updateCustom(Device device); @Insert("INSERT INTO device (" + "deviceId, " + "custom_name, " + "password, " + "sdpIp, " + "createTime," + "updateTime," + "charset," + "ssrcCheck," + "geoCoordSys," + "treeType," + "online" + ") VALUES (" + "#{deviceId}," + "#{name}," + "#{password}," + "#{sdpIp}," + "#{createTime}," + "#{updateTime}," + "#{charset}," + "#{ssrcCheck}," + "#{geoCoordSys}," + "#{treeType}," + "#{online}" + ")") void addCustomDevice(Device device); @Select("select count(1) as total, sum(online) as online from device") ResourceBaceInfo getOverview(); @Select("select * from device") List getAll(); }