package com.zehong.system.mapper;
import java.util.List;
import com.zehong.system.domain.TConfinedSpace;
import com.zehong.system.domain.TDeviceInfoS;
import org.apache.ibatis.annotations.Param;

/**
 * 密闭空间和人员密集场所Mapper接口
 *
 * @author zehong
 * @date 2026-03-18
 */
public interface TConfinedSpaceMapper
{
    /**
     * 查询密闭空间和人员密集场所
     *
     * @param id 密闭空间和人员密集场所ID
     * @return 密闭空间和人员密集场所
     */
    public TConfinedSpace selectTConfinedSpaceById(Long id);

    /**
     * 查询密闭空间和人员密集场所列表
     *
     * @param tConfinedSpace 密闭空间和人员密集场所
     * @return 密闭空间和人员密集场所集合
     */
    public List<TConfinedSpace> selectTConfinedSpaceList(TConfinedSpace tConfinedSpace);

    /**
     * 新增密闭空间和人员密集场所
     *
     * @param tConfinedSpace 密闭空间和人员密集场所
     * @return 结果
     */
    public int insertTConfinedSpace(TConfinedSpace tConfinedSpace);

    /**
     * 修改密闭空间和人员密集场所
     *
     * @param tConfinedSpace 密闭空间和人员密集场所
     * @return 结果
     */
    public int updateTConfinedSpace(TConfinedSpace tConfinedSpace);

    /**
     * 删除密闭空间和人员密集场所
     *
     * @param id 密闭空间和人员密集场所ID
     * @return 结果
     */
    public int deleteTConfinedSpaceById(Long id);

    /**
     * 批量删除密闭空间和人员密集场所
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteTConfinedSpaceByIds(Long[] ids);

    /**
     * 将关联设备信息与密闭空间进行绑定
     * @param gettDeviceInfoS 关联设备列表
     * @param id 密闭空间 ID
     * @param relationDevicetype 关联设备类型
     */
    void updatetRelationDeviceDetailInfo(@Param("gettDeviceInfoS") List<TDeviceInfoS> gettDeviceInfoS, @Param("id") Long id, @Param("relationDevicetype") String relationDevicetype);

}