package com.fs.hospital.mapper;

import java.util.List;
import com.fs.hospital.domain.HospitalRoleMenu;
import org.apache.ibatis.annotations.Select;

/**
 * 角色和菜单关联Mapper接口
 *
 * @author fs
 * @date 2024-02-26
 */
public interface HospitalRoleMenuMapper
{
    /**
     * 查询角色和菜单关联
     *
     * @param roleId 角色和菜单关联主键
     * @return 角色和菜单关联
     */
    public HospitalRoleMenu selectHospitalRoleMenuByRoleId(Long roleId);

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

    /**
     * 新增角色和菜单关联
     *
     * @param hospitalRoleMenu 角色和菜单关联
     * @return 结果
     */
    public int insertHospitalRoleMenu(HospitalRoleMenu hospitalRoleMenu);

    /**
     * 修改角色和菜单关联
     *
     * @param hospitalRoleMenu 角色和菜单关联
     * @return 结果
     */
    public int updateHospitalRoleMenu(HospitalRoleMenu hospitalRoleMenu);

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

    /**
     * 批量删除角色和菜单关联
     *
     * @param roleIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteHospitalRoleMenuByRoleIds(Long[] roleIds);
    @Select(" select count(1) from hospital_role_menu where menu_id = #{menuId}")
    int checkMenuExistRole(Long menuId);

    int batchRoleMenu(List<HospitalRoleMenu> list);

    void deleteRoleMenuByRoleId(Long roleId);
}
