package ink.wgink.interfaces.role;

import ink.wgink.pojo.ListPage;
import ink.wgink.pojo.dtos.department.DepartmentUserDTO;
import ink.wgink.pojo.result.SuccessResultList;

import java.util.List;

/**
 * @ClassName: IRoleDepartmentUserBaseService
 * @Description: 角色部门用户
 * @Author: wanggeng
 * @Date: 2021/11/3 4:11 下午
 * @Version: 1.0
 */
public interface IRoleDepartmentUserBaseService {


    /**
     * 获取指定地区下所有部门中指定角色的用户列表
     *
     * @param roleId   通过角色ID
     * @param areaCode 地区编码
     * @return
     */
    List<DepartmentUserDTO> listUserByRoleIdAndAreaCode(String roleId, String areaCode);

    /**
     * 获取指定部门中指定角色的用户列表接口
     *
     * @param departmentId 部门ID
     * @param roleId       角色ID
     * @param keywords     关键字
     * @return
     */
    List<DepartmentUserDTO> listDepartmentUserByDepartmentIdAndRoleIdAndKeywords(String departmentId, String roleId, String keywords);

    /**
     * 用户分页列表
     *
     * @param departmentId 部门ID
     * @param roleId       角色ID
     * @param page         分页参数
     * @return
     */
    SuccessResultList<List<DepartmentUserDTO>> listPageDepartmentUserByDepartmentIdAndRoleId(String departmentId, String roleId, ListPage page);
}
