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," +
"online" +
") VALUES (" +
"#{deviceId}," +
"#{name}," +
"#{manufacturer}," +
"#{model}," +
"#{firmware}," +
"#{transport}," +
"#{streamMode}," +
"#{ip}," +
"#{port}," +
"#{hostAddress}," +
"#{expires}," +
"#{registerTime}," +
"#{keepaliveTime}," +
"#{createTime}," +
"#{updateTime}," +
"#{charset}," +
"#{subscribeCycleForCatalog}," +
"#{online}" +
")")
int add(Device device);
@Update(value = {" "})
int update(Device device);
@Select("SELECT *, (SELECT count(0) FROM device_channel WHERE deviceId=de.deviceId) as channelCount FROM device de")
List getDevices();
@Delete("DELETE FROM device WHERE deviceId=#{deviceId}")
int del(String deviceId);
@Update("UPDATE device SET online=0")
int outlineForAll();
}