package com.ruoyi.system.mapper;

import java.util.List;

import com.ruoyi.system.domain.VideoInfo;
import org.apache.ibatis.annotations.Param;

/**
 * 视频设备Mapper接口
 *
 * @author ruoyi
 * @date 2024-07-15
 */
public interface VideoInfoMapper {
    /**
     * 查询视频设备
     *
     * @param id 视频设备主键
     * @return 视频设备
     */
    public VideoInfo selectVideoInfoById(Long id);

    /**
     * 查询视频设备列表
     *
     * @param videoInfo 视频设备
     * @return 视频设备集合
     */
    public List<VideoInfo> selectVideoInfoList(VideoInfo videoInfo);

    /**
     * 新增视频设备
     *
     * @param videoInfo 视频设备
     * @return 结果
     */
    public int insertVideoInfo(VideoInfo videoInfo);

    /**
     * 修改视频设备
     *
     * @param videoInfo 视频设备
     * @return 结果
     */
    public int updateVideoInfo(VideoInfo videoInfo);

    /**
     * 删除视频设备
     *
     * @param id 视频设备主键
     * @return 结果
     */
    public int deleteVideoInfoById(Long id);

    /**
     * 批量删除视频设备
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteVideoInfoByIds(Long[] ids);

    /**
     * 查询视频设备
     *
     * @param videoInfo
     * @return
     */
    VideoInfo findVideoInfo(VideoInfo videoInfo);

    /**
     * 根据网关查询视频设备
     *
     * @param gateway
     * @return
     */
    List<VideoInfo> findVideoInfoByGateway(String gateway);

    /**
     * 根据网关和条件查询视频设备
     *
     * @param gateway
     * @param condition
     * @return
     */
    VideoInfo selectVideoByCondition(@Param("gateway") String gateway, @Param("condition") String condition);

    /**
     * 根据SN查询视频设备
     *
     * @param sn
     * @return
     */
    VideoInfo selectGatewayByCondition(String sn);


}
