package com.fs.company.mapper;

import com.fs.company.domain.CompanyRoleMenu;

import java.util.List;

/**
 * 角色和菜单关联Mapper接口
 * 
 * @author fs
 * @date 2021-05-25
 */
public interface CompanyRoleMenuMapper 
{
    /**
     * 查询角色和菜单关联
     * 
     * @param roleId 角色和菜单关联ID
     * @return 角色和菜单关联
     */
    public CompanyRoleMenu selectCompanyRoleMenuById(Long roleId);

    /**
     * 查询角色和菜单关联列表
     * 
     * @param companyRoleMenu 角色和菜单关联
     * @return 角色和菜单关联集合
     */
    public List<CompanyRoleMenu> selectCompanyRoleMenuList(CompanyRoleMenu companyRoleMenu);

    /**
     * 新增角色和菜单关联
     * 
     * @param companyRoleMenu 角色和菜单关联
     * @return 结果
     */
    public int insertCompanyRoleMenu(CompanyRoleMenu companyRoleMenu);

    /**
     * 修改角色和菜单关联
     * 
     * @param companyRoleMenu 角色和菜单关联
     * @return 结果
     */
    public int updateCompanyRoleMenu(CompanyRoleMenu companyRoleMenu);

    /**
     * 删除角色和菜单关联
     * 
     * @param roleId 角色和菜单关联ID
     * @return 结果
     */
    public int deleteCompanyRoleMenuById(Long roleId);

    /**
     * 批量删除角色和菜单关联
     * 
     * @param roleIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteCompanyRoleMenuByIds(Long[] roleIds);

    int checkMenuExistRole(Long menuId);

    void deleteRoleMenuByRoleId(Long roleId);

    int batchRoleMenu(List<CompanyRoleMenu> list);
}
