You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
exam/sys/user/service/SysUserRoleService.java

95 lines
3.5 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/**
* 定义包名,明确该接口所属的模块和服务层目录,用于组织系统用户角色相关的服务类。
*/
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;
/**
* <p>
* 用户角色业务类接口,定义了与系统用户角色相关的业务方法。
* 继承自 MyBatis-Plus 的 IService 接口,可使用其提供的通用服务方法。
* </p>
*
* @author 聪明笨狗
* @since 2020-04-13 16:57
*/
public interface SysUserRoleService extends IService<SysUserRole> {
/**
* 分页查询用户角色数据。
* 根据传入的分页请求参数,从数据库中查询用户角色数据并进行分页处理。
*
* @param reqDTO 分页请求数据传输对象,包含分页查询的条件和参数。
* @return 分页查询结果,包含符合条件的用户角色数据传输对象列表。
*/
IPage<SysUserRoleDTO> paging(PagingReqDTO<SysUserRoleDTO> reqDTO);
/**
* 查找指定用户的角色列表。
* 根据用户 ID 从数据库中查询该用户关联的所有角色 ID。
*
* @param userId 用户的唯一标识。
* @return 该用户关联的角色 ID 列表。
*/
List<String> listRoles(String userId);
/**
* 保存指定用户的全部角色。
* 先删除该用户原有的所有角色关联,再添加新的角色关联。
*
* @param userId 用户的唯一标识。
* @param ids 要保存的角色 ID 列表。
* @return 保存操作完成后,返回保存的角色 ID 相关信息(具体格式由实现类定义)。
*/
String saveRoles(String userId, List<String> 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);
}