package com.aurora.mapper; // 导入资源角色数据传输对象(ResourceRoleDTO),用于封装资源与角色的关联信息,通常在权限管理中使用 import com.aurora.model.dto.ResourceRoleDTO; // 导入角色数据传输对象(RoleDTO),用于前台或服务层角色信息的展示,可能包含角色基本属性及扩展字段 import com.aurora.model.dto.RoleDTO; // 导入角色实体类(Role),该实体类与数据库中的角色表(如 sys_role)相对应,其字段(如角色名、状态)与表结构映射 [1,2] import com.aurora.entity.Role; // 导入条件查询值对象(ConditionVO),用于封装前端传递的复杂查询参数(如关键词、状态、时间范围等) import com.aurora.model.vo.ConditionVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import java.util.List;// 导入 Java 集合框架中的 List 接口,用于返回多个角色或字符串的集合 @Repository public interface RoleMapper extends BaseMapper { // 自定义查询方法:获取资源与角色的映射列表 // 返回 ResourceRoleDTO 列表,每个对象可能包含资源路径(如 URL)和可访问该资源的角色列表(如 ROLE_ADMIN) List listResourceRoles(); // 自定义查询方法:根据用户信息ID查询该用户所拥有的角色标识列表 // @Param 注解为参数指定别名 "userInfoId",在 XML 映射文件中可通过 #{userInfoId}引用参数值 // userInfoId: 用户信息表的主键 ID,用于关联查询用户-角色关系表 // 返回字符串列表,每个字符串代表一个角色标识(如 "admin"、"user"),通常用于构建用户的权限集合 List listRolesByUserInfoId(@Param("userInfoId") Integer userInfoId); // 自定义查询方法:分页获取角色列表(支持条件查询,通常用于后台角色管理界面) // current: 当前页码(从1开始),size: 每页记录数 // conditionVO: 封装查询条件的对象,可能包含角色名称关键词、状态标识、创建时间范围等筛选条件 // 返回 RoleDTO 列表,该 DTO 通常扩展了角色基础信息,包含管理或展示所需的附加字段(如用户数量、权限列表等) List listRoles(@Param("current") Long current, @Param("size") Long size, @Param("conditionVO") ConditionVO conditionVO); }