ADD file via upload

main
pe9vkn3zc 3 months ago
parent 3ff59b0192
commit 6ab4565e85

@ -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<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特点
//包含多表关联数据(如快递详情+快递员联系方式+寄件人信息)
//结构复杂但数据完整
}
Loading…
Cancel
Save