package com.genersoft.iot.vmp.storager.dao;
|
|
import com.genersoft.iot.vmp.gb28181.bean.Device;
|
import org.apache.ibatis.annotations.*;
|
import org.springframework.stereotype.Repository;
|
|
import java.util.List;
|
|
/**
|
* 用于存储设备信息
|
*/
|
@Mapper
|
@Repository
|
public interface DeviceMapper {
|
|
@Select("SELECT * FROM device WHERE deviceId = #{deviceId}")
|
Device getDeviceByDeviceId(String deviceId);
|
|
@Insert("INSERT INTO device (" +
|
"deviceId, " +
|
"name, " +
|
"manufacturer, " +
|
"model, " +
|
"firmware, " +
|
"transport," +
|
"streamMode," +
|
"ip," +
|
"port," +
|
"hostAddress," +
|
"expires," +
|
"registerTime," +
|
"keepaliveTime," +
|
"createTime," +
|
"updateTime," +
|
"charset," +
|
"subscribeCycleForCatalog," +
|
"subscribeCycleForMobilePosition," +
|
"mobilePositionSubmissionInterval," +
|
"subscribeCycleForAlarm," +
|
"ssrcCheck," +
|
"geoCoordSys," +
|
"treeType," +
|
"online" +
|
") VALUES (" +
|
"#{deviceId}," +
|
"#{name}," +
|
"#{manufacturer}," +
|
"#{model}," +
|
"#{firmware}," +
|
"#{transport}," +
|
"#{streamMode}," +
|
"#{ip}," +
|
"#{port}," +
|
"#{hostAddress}," +
|
"#{expires}," +
|
"#{registerTime}," +
|
"#{keepaliveTime}," +
|
"#{createTime}," +
|
"#{updateTime}," +
|
"#{charset}," +
|
"#{subscribeCycleForCatalog}," +
|
"#{subscribeCycleForMobilePosition}," +
|
"#{mobilePositionSubmissionInterval}," +
|
"#{subscribeCycleForAlarm}," +
|
"#{ssrcCheck}," +
|
"#{geoCoordSys}," +
|
"#{treeType}," +
|
"#{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=\"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>" +
|
"<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>" +
|
"<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>" +
|
"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")
|
List<Device> getDevices();
|
|
@Delete("DELETE FROM device WHERE deviceId=#{deviceId}")
|
int del(String deviceId);
|
|
@Update("UPDATE device SET online=0")
|
int outlineForAll();
|
|
@Select("SELECT * FROM device WHERE online = 1")
|
List<Device> getOnlineDevices();
|
@Select("SELECT * FROM device WHERE ip = #{host} AND port=${port}")
|
Device getDeviceByHostAndPort(String host, int port);
|
}
|