package com.cool.bang.modules.system.mapper;

import com.cool.bang.common.base.BaseMapper;
import com.cool.bang.modules.system.domain.po.Menu;
import com.cool.bang.modules.system.domain.po.Role;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * system role mapper interface
 *
 * @author PeiZhi Guo
 * 2021-2-18 14:21
 */
@Repository
public interface RoleMapper extends BaseMapper<Role> {

    /**
     * 保存角色权限
     *
     * Param id 角色主键
     * Param menuList 权限列表
     * Return
     */
    void saveRoleMenu (@Param("roleId") Integer id, @Param("menuList") List<Menu> menuList);

    /**
     * 根据角色名称查询数据量
     *
     * Param name 角色名称
     * Return Integer
     */
    Integer selectCountByName(String name);

    /**
     * 删除角色权限
     *
     * Param roleId 角色主键
     * Return
     */
    void deleteRoleMenu(Integer roleId);

    /**
     * 删除用户角色
     *
     * Param roleId 角色主键
     * Return
     */
    void deleteUserRole(Integer roleId);
}
