diff --git a/KuaidixinxiServiceImpl.java b/KuaidixinxiServiceImpl.java new file mode 100644 index 0000000..52dfb81 --- /dev/null +++ b/KuaidixinxiServiceImpl.java @@ -0,0 +1,89 @@ +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特点: +//包含多表关联数据(如快递详情+快递员联系方式+寄件人信息) +//结构复杂但数据完整 + +}