|
|
package com.service.impl;
|
|
|
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
|
|
import com.baomidou.mybatisplus.mapper.Wrapper;
|
|
|
import com.baomidou.mybatisplus.plugins.Page;
|
|
|
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
|
|
|
import com.dao.UsersDao;
|
|
|
import com.entity.UsersEntity;
|
|
|
import com.service.UsersService;
|
|
|
import com.utils.PageUtils;
|
|
|
import com.utils.Query;
|
|
|
|
|
|
/**
|
|
|
* 系统用户服务实现类
|
|
|
*
|
|
|
* 核心职责:处理系统用户(UsersEntity)的分页查询和列表查询功能
|
|
|
*
|
|
|
* 技术架构:
|
|
|
* 1. 继承MyBatis-Plus的ServiceImpl → 获得基础CRUD能力
|
|
|
* 2. 实现自定义UsersService接口 → 扩展用户查询功能
|
|
|
*
|
|
|
* 业务场景:系统管理员查看用户列表、搜索用户、用户管理等后台操作
|
|
|
*/
|
|
|
@Service("usersService") // Spring服务注解,指定bean名称为"usersService"
|
|
|
public class UsersServiceImpl extends ServiceImpl<UsersDao, UsersEntity> implements UsersService {
|
|
|
|
|
|
/**
|
|
|
* 分页查询系统用户(基础版本)
|
|
|
* 使用默认的EntityWrapper进行条件查询,返回实体对象分页
|
|
|
* 主要用于系统管理后台的用户列表展示
|
|
|
*
|
|
|
* @param params 请求参数,包含分页参数(page、limit等)
|
|
|
* @return 分页工具对象,包含分页数据和分页信息
|
|
|
*/
|
|
|
@Override
|
|
|
public PageUtils queryPage(Map<String, Object> params) {
|
|
|
// 创建分页查询:使用Query工具类解析参数创建Page对象
|
|
|
Page<UsersEntity> page = this.selectPage(
|
|
|
new Query<UsersEntity>(params).getPage(), // 解析分页参数,创建Page对象
|
|
|
new EntityWrapper<UsersEntity>() // 创建空的查询条件包装器
|
|
|
);
|
|
|
return new PageUtils(page); // 返回自定义的分页工具对象
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 查询系统用户列表
|
|
|
* 支持自定义查询条件,返回用户实体列表
|
|
|
* 用于需要条件筛选的用户查询场景
|
|
|
*
|
|
|
* @param wrapper 查询条件包装器,用于构建WHERE条件、排序等
|
|
|
* @return 系统用户实体列表
|
|
|
*/
|
|
|
@Override
|
|
|
public List<UsersEntity> selectListView(Wrapper<UsersEntity> wrapper) {
|
|
|
return baseMapper.selectListView(wrapper);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 分页查询系统用户(增强版本)
|
|
|
* 支持自定义查询条件和分页,返回分页的用户列表
|
|
|
* 用于管理系统中的高级搜索和分页展示
|
|
|
*
|
|
|
* @param params 请求参数,包含分页参数
|
|
|
* @param wrapper 自定义查询条件包装器
|
|
|
* @return 分页工具对象,包含分页的用户数据
|
|
|
*/
|
|
|
@Override
|
|
|
public PageUtils queryPage(Map<String, Object> params, Wrapper<UsersEntity> wrapper) {
|
|
|
// 创建分页对象
|
|
|
Page<UsersEntity> page = new Query<UsersEntity>(params).getPage();
|
|
|
// 执行分页查询,获取用户列表数据
|
|
|
page.setRecords(baseMapper.selectListView(page, wrapper));
|
|
|
// 封装分页结果
|
|
|
PageUtils pageUtil = new PageUtils(page);
|
|
|
return pageUtil;
|
|
|
}
|
|
|
} |