package com.service.impl; import org.springframework.stereotype.Service; import java.util.Map; import java.util.List; import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.utils.PageUtils; import com.utils.Query; import com.dao.KuaidiyuanDao; import com.entity.KuaidiyuanEntity; import com.service.KuaidiyuanService; import com.entity.vo.KuaidiyuanVO; import com.entity.view.KuaidiyuanView; /** * 快递员服务实现类 * 核心职责:管理快递员(Kuaidiyuan)数据的业务逻辑 * * 技术架构: * 1. 继承MyBatis-Plus的ServiceImpl,获得基础的CRUD能力 * 2. 实现自定义的KuaidiyuanService接口,定义快递员特有的业务方法 * 3. 使用VO(Value Object)和View对象实现数据分层 */ @Service("kuaidiyuanService") // Spring服务注解,指定bean名称为"kuaidiyuanService" public class KuaidiyuanServiceImpl extends ServiceImpl implements KuaidiyuanService { /** * 分页查询快递员信息(基础版本) * 使用默认的EntityWrapper进行条件查询 * @param params 请求参数,包含分页参数(page、limit等) * @return 分页工具对象,包含分页数据和分页信息 */ @Override public PageUtils queryPage(Map params) { // 创建分页查询:使用Query工具类解析参数创建Page对象 Page page = this.selectPage( new Query(params).getPage(), // 解析分页参数 new EntityWrapper() // 创建空的查询条件包装器 ); return new PageUtils(page); // 返回自定义的分页工具对象 } /** * 分页查询快递员信息(增强版本) * 支持自定义查询条件和返回视图对象 * @param params 请求参数,包含分页参数 * @param wrapper 自定义查询条件包装器 * @return 分页工具对象,包含分页的视图数据 */ @Override public PageUtils queryPage(Map params, Wrapper wrapper) { // 创建分页对象 Page page = new Query(params).getPage(); // 执行分页查询,获取视图数据 page.setRecords(baseMapper.selectListView(page, wrapper)); // 封装分页结果 PageUtils pageUtil = new PageUtils(page); return pageUtil; } /** * 查询快递员VO列表 * 返回值对象列表,用于列表展示 * @param wrapper 查询条件包装器 * @return 快递员VO列表 */ @Override public List selectListVO(Wrapper wrapper) { return baseMapper.selectListVO(wrapper); } /** * 查询单个快递员VO * 返回单个值对象,用于详情展示 * @param wrapper 查询条件包装器 * @return 单个快递员VO对象 */ @Override public KuaidiyuanVO selectVO(Wrapper wrapper) { return baseMapper.selectVO(wrapper); } /** * 查询快递员视图列表 * 返回视图对象列表,包含关联数据 * @param wrapper 查询条件包装器 * @return 快递员视图列表 */ @Override public List selectListView(Wrapper wrapper) { return baseMapper.selectListView(wrapper); } /** * 查询单个快递员视图 * 返回单个视图对象,包含完整的关联数据 * @param wrapper 查询条件包装器 * @return 单个快递员视图对象 */ @Override public KuaidiyuanView selectView(Wrapper wrapper) { return baseMapper.selectView(wrapper); } }