package com.seer.teach.user.service;

import com.seer.teach.user.entity.RoleEntity;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Collection;
import java.util.Optional;
import java.util.Set;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author Wang
 * @since 2025-07-16 16:56:07
 */
public interface IRoleService extends IService<RoleEntity> {

    /**
     * 根据角色名称获取角色
     *
     * @param name 角色名称
     * @return 角色
     */
    Optional<RoleEntity> getRoleByName(String name);

    /**
     * 根据角色编码获取角色
     *
     * @param roleCode 角色编码
     * @return 角色
     */
    Optional<RoleEntity> getRoleByCode(String roleCode);

    /**
     * 根据角色ID集合获取角色列表
     *
     * @param roleIds 角色ID集合
     * @return 角色列表
     */
    Collection<RoleEntity> getRoleListByRoleIds(Collection<Integer> roleIds);

}
