package com.seer.teach.user.admin.service;


import com.seer.teach.common.PageListBean;
import com.seer.teach.user.admin.request.AddRole;
import com.seer.teach.user.admin.request.UpdateRoleRequest;
import com.seer.teach.user.admin.response.RoleResp;

import java.util.List;


/**
 * <p>
 *  服务类
 * </p>
 *
 * @author Captain
 * @since 2024-01-19
 */
public interface AdminRoleService {

    /**
     * @Author: Captain
     * @Desc:  通过角色Id删除角色
     * @Params: [id]
     * @Retuen: com.tianyi.common.ResultBean
     * @Time: 2024/1/23 14:18
     */
    void deleteRoleByRoleId(Integer id);

    /**
     * @Author: Captain
     * @Desc:  添加角色
     * @Params: [addRole]
     * @Retuen: com.tianyi.common.ResultBean
     * @Time: 2024/1/23 15:13
     */
    void addRole(AddRole addRole);

    /**
     * @Author: Captain
     * @Desc: 更新角色
     * @Params: [params]
     * @Retuen: com.tianyi.common.ResultBean
     * @Time: 2024/1/29 14:44
     */
    void updateRole(UpdateRoleRequest params,Integer id);

    /**
     * 获取管理员角色列表
     * @param page
     * @param size
     * @param roleName
     * @return
     */
    PageListBean<RoleResp> listPage(Integer page, Integer size, String roleName);

    /**
     * 查询所有角色名称
     * @return
     */
    List<RoleResp> getAllRoles();

    /**
     * 根据用户ID查询角色信息
     * @param id
     * @return
     */
    List<RoleResp> getRoleByUserId(Integer id);

}
