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