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/impl/SysRoleServiceImpl.java

63 lines
3.2 KiB

// 声明该类所在的包,明确其在项目中的模块和层级位置
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;
/**
* <p>
* 系统角色 服务实现类,实现了系统角色相关的业务逻辑。
* 继承自 MyBatis-Plus 的 ServiceImpl 类,使用 SysRoleMapper 操作 SysRole 实体。
* </p>
*
* @author 聪明笨狗
* @since 2020-04-13 16:57
*/
@Service
public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements SysRoleService {
/**
* 分页查询系统角色信息。
*
* @param reqDTO 分页请求数据传输对象,包含分页查询的当前页码、每页记录数等信息
* @return 分页查询结果,包含系统角色数据传输对象列表
*/
@Override
public IPage<SysRoleDTO> paging(PagingReqDTO<SysRoleDTO> reqDTO) {
// 创建分页对象,根据请求中的当前页码和每页记录数初始化
IPage<SysRole> query = new Page<>(reqDTO.getCurrent(), reqDTO.getSize());
// 创建查询条件构造器,用于构建数据库查询条件,当前未添加具体查询条件
QueryWrapper<SysRole> wrapper = new QueryWrapper<>();
// 调用父类的 page 方法进行分页查询,获取包含 SysRole 实体的分页结果
IPage<SysRole> page = this.page(query, wrapper);
// 将包含 SysRole 实体的分页结果转换为 JSON 字符串,再反序列化为包含 SysRoleDTO 的分页结果
IPage<SysRoleDTO> pageData = JSON.parseObject(JSON.toJSONString(page), new TypeReference<Page<SysRoleDTO>>(){});
return pageData;
}
}