package com.sooka.sponest.monitor.broadcast.mapper;

import java.util.ArrayList;
import java.util.List;

import com.sooka.sponest.monitor.aidevicedept.domain.CenterdataTAidevicedept;
import com.sooka.sponest.monitor.broadcast.domain.CentermonitorTCloudBroadcast;
import com.sooka.sponest.monitor.broadcast.domain.CentermonitorTCloudBroadcastImg;
import com.sooka.sponest.monitor.camera.domain.CentermonitorTCamera;
import com.sooka.sponest.monitor.camera.domain.CentermonitorTCameraImg;
import com.sooka.sponest.monitor.camera.domain.CentermonitorTCameraType;
import org.apache.ibatis.annotations.Param;

/**
 * 云广播设备Mapper接口
 *
 * @author ruoyi
 * @date 2023-04-23
 */
public interface CentermonitorTCloudBroadcastMapper
{
    /**
     * 查询云广播设备
     *
     * @param id 云广播设备主键
     * @return 云广播设备
     */
     CentermonitorTCloudBroadcast selectCentermonitorTCloudBroadcastById(String id);

    List<CentermonitorTCloudBroadcast> selectTypesss(String id);
    /**
     * 查询云广播设备列表
     *
     * @param centermonitorTCloudBroadcast 云广播设备
     * @return 云广播设备集合
     */
     List<CentermonitorTCloudBroadcast> selectCentermonitorTCloudBroadcastList(CentermonitorTCloudBroadcast centermonitorTCloudBroadcast);

    /**
     * 查询云广播设备列表(所有)
     *
     * @param centermonitorTCloudBroadcast 云广播设备
     * @return 云广播设备集合
     */
     List<CentermonitorTCloudBroadcast> selectCentermonitorTCloudBroadcastListAll(CentermonitorTCloudBroadcast centermonitorTCloudBroadcast);

    /**
     * 部门管理查询
     *
     * @param centerdataTAidevicedept 部门管理查询
     * @return 监测设备集合
     */
     List<CenterdataTAidevicedept> selectDeptBroadcastData(CenterdataTAidevicedept centerdataTAidevicedept);

    /**
     * 查询云广播设备列表根据部门id
     *
     * @param str  云广播设备
     * @return 云广播设备集合
     */
     List<CentermonitorTCloudBroadcast> selectListByDeptId(@Param("str") List<String> str);

    /**
     * 新增云广播设备
     *
     * @param centermonitorTCloudBroadcast 云广播设备
     * @return 结果
     */
     int insertCentermonitorTCloudBroadcast(CentermonitorTCloudBroadcast centermonitorTCloudBroadcast);

     int insertCenterBroadcastTCameraType(CentermonitorTCameraType type);

     int deleteBroadcastTCameraTypeById(String cameraId);

    /**
     * 修改云广播设备
     *
     * @param centermonitorTCloudBroadcast 云广播设备
     * @return 结果
     */
     int updateCentermonitorTCloudBroadcast(CentermonitorTCloudBroadcast centermonitorTCloudBroadcast);

    /**
     * 删除云广播设备
     *
     * @param id 云广播设备主键
     * @return 结果
     */
     int deleteCentermonitorTCloudBroadcastById(String id);

    /**
     * 批量删除云广播设备
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
     int deleteCentermonitorTCloudBroadcastByIds(String[] ids);

    /**
     * 查询附近云广播列表
     */
    List<CentermonitorTCloudBroadcast> selectNearHorn(CentermonitorTCloudBroadcast centermonitorTCloudBroadcast);

    /**
     * 新增云广播图片
     */
    int insertCentermonitorTBroadcastImg(List<CentermonitorTCloudBroadcastImg> images);

    /**
     * 根据云广播id查图片
     */
    ArrayList<CentermonitorTCloudBroadcastImg> selectCentermonitorTBroadcastImgByBroadcastId(String id);

    /**
     * 移除云广播图片
     */
    void deleteImageByBroadcastId(@Param("broadcastId")String broadcastId);
}
