package com.ruoyi.system.service;

import java.util.List;

import com.ruoyi.system.domain.VideoInfo;

/**
 * 视频设备Service接口
 *
 * @author ruoyi
 * @date 2024-07-15
 */
public interface IVideoInfoService {
    /**
     * 查询视频设备
     *
     * @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 ids 需要删除的视频设备主键集合
     * @return 结果
     */
    public int deleteVideoInfoByIds(Long[] ids);

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

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

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

    /**
     * 根据网关和类型查询设备
     *
     * @param gateway
     * @param condition
     * @return
     */
    VideoInfo selectVideoByCondition(String gateway, String condition);

    /**
     * 根据sn查询网关
     *
     * @param sn
     * @return
     */
    VideoInfo selectGatewayByCondition(String sn);

}
