You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

109 lines
4.0 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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. 使用VOValue Object和View对象实现数据分层
*/
@Service("kuaidiyuanService") // Spring服务注解指定bean名称为"kuaidiyuanService"
public class KuaidiyuanServiceImpl extends ServiceImpl<KuaidiyuanDao, KuaidiyuanEntity> implements KuaidiyuanService {
/**
* 分页查询快递员信息(基础版本)
* 使用默认的EntityWrapper进行条件查询
* @param params 请求参数包含分页参数page、limit等
* @return 分页工具对象,包含分页数据和分页信息
*/
@Override
public PageUtils queryPage(Map<String, Object> params) {
// 创建分页查询使用Query工具类解析参数创建Page对象
Page<KuaidiyuanEntity> page = this.selectPage(
new Query<KuaidiyuanEntity>(params).getPage(), // 解析分页参数
new EntityWrapper<KuaidiyuanEntity>() // 创建空的查询条件包装器
);
return new PageUtils(page); // 返回自定义的分页工具对象
}
/**
* 分页查询快递员信息(增强版本)
* 支持自定义查询条件和返回视图对象
* @param params 请求参数,包含分页参数
* @param wrapper 自定义查询条件包装器
* @return 分页工具对象,包含分页的视图数据
*/
@Override
public PageUtils queryPage(Map<String, Object> params, Wrapper<KuaidiyuanEntity> wrapper) {
// 创建分页对象
Page<KuaidiyuanView> page = new Query<KuaidiyuanView>(params).getPage();
// 执行分页查询,获取视图数据
page.setRecords(baseMapper.selectListView(page, wrapper));
// 封装分页结果
PageUtils pageUtil = new PageUtils(page);
return pageUtil;
}
/**
* 查询快递员VO列表
* 返回值对象列表,用于列表展示
* @param wrapper 查询条件包装器
* @return 快递员VO列表
*/
@Override
public List<KuaidiyuanVO> selectListVO(Wrapper<KuaidiyuanEntity> wrapper) {
return baseMapper.selectListVO(wrapper);
}
/**
* 查询单个快递员VO
* 返回单个值对象,用于详情展示
* @param wrapper 查询条件包装器
* @return 单个快递员VO对象
*/
@Override
public KuaidiyuanVO selectVO(Wrapper<KuaidiyuanEntity> wrapper) {
return baseMapper.selectVO(wrapper);
}
/**
* 查询快递员视图列表
* 返回视图对象列表,包含关联数据
* @param wrapper 查询条件包装器
* @return 快递员视图列表
*/
@Override
public List<KuaidiyuanView> selectListView(Wrapper<KuaidiyuanEntity> wrapper) {
return baseMapper.selectListView(wrapper);
}
/**
* 查询单个快递员视图
* 返回单个视图对象,包含完整的关联数据
* @param wrapper 查询条件包装器
* @return 单个快递员视图对象
*/
@Override
public KuaidiyuanView selectView(Wrapper<KuaidiyuanEntity> wrapper) {
return baseMapper.selectView(wrapper);
}
}