// 声明该类所在的包,明确其在项目中的模块和层级位置 package com.yf.exam.modules.sys.user.service.impl; // 导入阿里巴巴的 FastJSON 库,用于 JSON 数据的序列化和反序列化 import com.alibaba.fastjson.JSON; // 导入 FastJSON 的 TypeReference 类,用于处理泛型类型的 JSON 反序列化 import com.alibaba.fastjson.TypeReference; // 导入 MyBatis-Plus 的查询条件构造器类,用于构建数据库查询条件 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; // 导入 MyBatis-Plus 的分页元数据接口,用于表示分页查询的结果 import com.baomidou.mybatisplus.core.metadata.IPage; // 导入 MyBatis-Plus 的分页实现类,用于创建分页对象 import com.baomidou.mybatisplus.extension.plugins.pagination.Page; // 导入 MyBatis-Plus 的服务实现基类,提供了通用的服务层方法实现 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; // 导入系统角色数据传输对象类,用于在不同层之间传输角色相关的数据 import com.yf.exam.modules.sys.user.dto.SysRoleDTO; // 导入系统角色实体类,用于映射数据库中的角色表 import com.yf.exam.modules.sys.user.entity.SysRole; // 导入系统角色数据访问接口,用于与数据库进行角色数据的交互 import com.yf.exam.modules.sys.user.mapper.SysRoleMapper; // 导入系统角色服务接口,定义了角色相关的业务方法 import com.yf.exam.modules.sys.user.service.SysRoleService; // 导入分页请求数据传输对象类,用于封装分页查询的请求参数 import com.yf.exam.core.api.dto.PagingReqDTO; // 导入 Spring 的服务注解,将该类标记为一个服务组件,由 Spring 容器进行管理 import org.springframework.stereotype.Service; /** *

* 系统角色 服务实现类,实现了系统角色相关的业务逻辑。 * 继承自 MyBatis-Plus 的 ServiceImpl 类,使用 SysRoleMapper 操作 SysRole 实体。 *

* * @author 聪明笨狗 * @since 2020-04-13 16:57 */ @Service public class SysRoleServiceImpl extends ServiceImpl implements SysRoleService { /** * 分页查询系统角色信息。 * * @param reqDTO 分页请求数据传输对象,包含分页查询的当前页码、每页记录数等信息 * @return 分页查询结果,包含系统角色数据传输对象列表 */ @Override public IPage paging(PagingReqDTO reqDTO) { // 创建分页对象,根据请求中的当前页码和每页记录数初始化 IPage query = new Page<>(reqDTO.getCurrent(), reqDTO.getSize()); // 创建查询条件构造器,用于构建数据库查询条件,当前未添加具体查询条件 QueryWrapper wrapper = new QueryWrapper<>(); // 调用父类的 page 方法进行分页查询,获取包含 SysRole 实体的分页结果 IPage page = this.page(query, wrapper); // 将包含 SysRole 实体的分页结果转换为 JSON 字符串,再反序列化为包含 SysRoleDTO 的分页结果 IPage pageData = JSON.parseObject(JSON.toJSONString(page), new TypeReference>(){}); return pageData; } }