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();
}