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.KuaidixinxiDao; import com.entity.KuaidixinxiEntity; import com.service.KuaidixinxiService; import com.entity.vo.KuaidixinxiVO; import com.entity.view.KuaidixinxiView; //类定位分析 @Service("kuaidixinxiService") public class KuaidixinxiServiceImpl extends ServiceImpl implements KuaidixinxiService { //核心职责:处理所有快递信息(Kuaidixinxi) 的业务逻辑 //技术架构: //继承MyBatis-Plus的ServiceImpl → 拥有基础的CRUD操作能力 //实现自定义的KuaidixinxiService接口 → 扩展高级查询功能 //使用VO/View对象 → 实现数据展示与业务逻辑分离 //1. 基础分页查询(实体层) @Override public PageUtils queryPage(Map params) { Page page = this.selectPage( new Query(params).getPage(), new EntityWrapper() ); return new PageUtils(page); } //作用:查询原始快递实体数据的分页列表 //特点: //无查询条件 → 返回全部数据 //返回KuaidixinxiEntity → 包含所有数据库字段 //使用场景:后台管理-快递信息列表页(需要查看所有字段) //2. 条件分页查询(视图层) @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; } //作用:查询视图对象的分页数据 //特点: //支持动态查询条件(通过wrapper) //返回KuaidixinxiView → 包含关联表数据(如快递员信息、寄件人信息) //3. VO查询(数据展示层) @Override public List selectListVO(Wrapper wrapper) { return baseMapper.selectListVO(wrapper); } @Override public KuaidixinxiVO selectVO(Wrapper wrapper) { return baseMapper.selectVO(wrapper); } //作用:获取值对象(Value Object) 列表或单个对象 //VO特点: //只包含前端需要的核心字段 //可能包含计算字段(如预计到达时间) //数据格式优化(如状态转为中文描述) //4. View查询(关联数据层) @Override public List selectListView(Wrapper wrapper) { return baseMapper.selectListView(wrapper); } @Override public KuaidixinxiView selectView(Wrapper wrapper) { return baseMapper.selectView(wrapper); } //作用:获取视图对象列表或单个对象 //View特点: //包含多表关联数据(如快递详情+快递员联系方式+寄件人信息) //结构复杂但数据完整 }