package com.ruoyi.system.mapper;

import com.ruoyi.system.domain.SysScreenLocation;
import com.ruoyi.system.domain.dto.SysScreenLocationDto;
import com.ruoyi.system.domain.vo.SysScreenLocationVo;
import com.ruoyi.system.domain.vo.SysScreenModuleVo;

import java.util.List;

/**
 * 大屏模块位置Mapper接口
 *
 * @author tianyongbao
 * @date 2023-12-22
 */
public interface SysScreenLocationMapper
{
    /**
     * 查询大屏可视化配置模块列表
     *
     * @return 大屏可视化配置模块集合
     */
    public List<SysScreenModuleVo> selectSysScreenModuleList();

    /**
     * 查询大屏模块位置
     *
     * @param id 大屏模块位置主键
     * @return 大屏模块位置
     */
    public SysScreenLocationVo selectSysScreenLocationById(Long id);

    /**
     * 查询大屏模块位置列表
     *
     * @param sysScreenLocationDto 大屏模块位置
     * @return 大屏模块位置集合
     */
    public List<SysScreenLocationVo> selectSysScreenLocationList(SysScreenLocationDto sysScreenLocationDto);

    /**
     * 新增大屏模块位置
     *
     * @param sysScreenLocation 大屏模块位置
     * @return 结果
     */
    public int insertSysScreenLocation(SysScreenLocation sysScreenLocation);

    /**
     * 修改大屏模块位置
     *
     * @param sysScreenLocation 大屏模块位置
     * @return 结果
     */
    public int updateSysScreenLocation(SysScreenLocation sysScreenLocation);

    /**
     * 删除大屏模块位置
     *
     * @param id 大屏模块位置主键
     * @return 结果
     */
    public int deleteSysScreenLocationById(Long id);

    /**
     * 批量删除大屏模块位置
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSysScreenLocationByIds(Long[] ids);

    /**
     * 逻辑删除大屏模块位置
     *
     * @param id 大屏模块位置主键
     * @return 结果
     */
    public int removeSysScreenLocationById(Long id);

    /**
     * 批量逻辑删除大屏模块位置
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int removeSysScreenLocationByIds(Long[] ids);

    /**
     * 批量新增用户大屏配置信息
     *
     * @param sysScreenLocationList 用户角色列表
     * @return 结果
     */
    public int batchInsertSysScreenLocation(List<SysScreenLocation> sysScreenLocationList);

    /**
     * 批量删除大屏模块位置
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSysScreenLocationByUserIds(Long[] ids);
}
