/** * 定义包名,明确该接口所属的模块和服务层目录,用于组织系统用户角色相关的服务类。 */ package com.yf.exam.modules.sys.user.service; /** * 导入 MyBatis-Plus 框架的分页元数据接口,用于表示分页查询结果,包含总记录数、当前页码等信息。 */ import com.baomidou.mybatisplus.core.metadata.IPage; /** * 导入 MyBatis-Plus 框架的扩展服务接口,提供通用的 CRUD 操作方法,减少重复代码编写。 */ import com.baomidou.mybatisplus.extension.service.IService; /** * 导入系统用户角色数据传输对象类,用于在不同层之间传输用户角色相关的数据,避免直接暴露实体类。 */ import com.yf.exam.modules.sys.user.dto.SysUserRoleDTO; /** * 导入系统用户角色实体类,用于映射数据库中的用户角色表,封装用户角色的属性信息。 */ import com.yf.exam.modules.sys.user.entity.SysUserRole; /** * 导入自定义的分页请求数据传输对象类,用于封装分页查询的请求参数,如当前页码、每页记录数等。 */ import com.yf.exam.core.api.dto.PagingReqDTO; import java.util.List; /** *

* 用户角色业务类接口,定义了与系统用户角色相关的业务方法。 * 继承自 MyBatis-Plus 的 IService 接口,可使用其提供的通用服务方法。 *

* * @author 聪明笨狗 * @since 2020-04-13 16:57 */ public interface SysUserRoleService extends IService { /** * 分页查询用户角色数据。 * 根据传入的分页请求参数,从数据库中查询用户角色数据并进行分页处理。 * * @param reqDTO 分页请求数据传输对象,包含分页查询的条件和参数。 * @return 分页查询结果,包含符合条件的用户角色数据传输对象列表。 */ IPage paging(PagingReqDTO reqDTO); /** * 查找指定用户的角色列表。 * 根据用户 ID 从数据库中查询该用户关联的所有角色 ID。 * * @param userId 用户的唯一标识。 * @return 该用户关联的角色 ID 列表。 */ List listRoles(String userId); /** * 保存指定用户的全部角色。 * 先删除该用户原有的所有角色关联,再添加新的角色关联。 * * @param userId 用户的唯一标识。 * @param ids 要保存的角色 ID 列表。 * @return 保存操作完成后,返回保存的角色 ID 相关信息(具体格式由实现类定义)。 */ String saveRoles(String userId, List ids); /** * 判断指定用户是否为学生角色。 * 根据用户 ID 检查该用户是否关联了学生角色。 * * @param userId 用户的唯一标识。 * @return 如果用户是学生角色返回 true,否则返回 false。 */ boolean isStudent(String userId); /** * 判断指定用户是否为老师角色。 * 根据用户 ID 检查该用户是否关联了老师角色。 * * @param userId 用户的唯一标识。 * @return 如果用户是老师角色返回 true,否则返回 false。 */ boolean isTeacher(String userId); /** * 判断指定用户是否为管理员角色。 * 根据用户 ID 检查该用户是否关联了管理员角色。 * * @param userId 用户的唯一标识。 * @return 如果用户是管理员角色返回 true,否则返回 false。 */ boolean isAdmin(String userId); }