|
|
|
@ -0,0 +1,63 @@
|
|
|
|
|
/*
|
|
|
|
|
* Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved.
|
|
|
|
|
*
|
|
|
|
|
* https://www.mall4j.com/
|
|
|
|
|
*
|
|
|
|
|
* 未经允许,不可做商业用途!
|
|
|
|
|
*
|
|
|
|
|
* 版权所有,侵权必究!
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
package com.yami.shop.service.impl;
|
|
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
|
import com.yami.shop.bean.app.dto.MyOrderDto;
|
|
|
|
|
import com.yami.shop.bean.model.Order;
|
|
|
|
|
import com.yami.shop.common.util.PageAdapter;
|
|
|
|
|
import com.yami.shop.dao.OrderMapper;
|
|
|
|
|
import com.yami.shop.service.MyOrderService;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* MyOrderServiceImpl 是 MyOrderService 接口的具体实现类。
|
|
|
|
|
* 它继承自 MyBatis-Plus 提供的 ServiceImpl,并实现了 MyOrderService 中定义的方法。
|
|
|
|
|
* 该服务负责处理与用户订单(Order)相关的业务逻辑。
|
|
|
|
|
*
|
|
|
|
|
* @author lgh on 2018/09/15.
|
|
|
|
|
*/
|
|
|
|
|
@Service
|
|
|
|
|
public class MyOrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements MyOrderService {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* orderMapper 是通过 Spring 自动装配的 DAO 层组件,
|
|
|
|
|
* 用于执行对 Order 实体对应的数据库表的操作。
|
|
|
|
|
*/
|
|
|
|
|
@Autowired
|
|
|
|
|
private OrderMapper orderMapper;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* pageMyOrderByUserIdAndStatus 方法实现了根据用户ID和订单状态分页查询订单信息的功能。
|
|
|
|
|
*
|
|
|
|
|
* @param page 分页参数,包含了当前页码、每页显示记录数等信息。
|
|
|
|
|
* 该参数也作为返回结果的一部分,用来封装分页后的数据。
|
|
|
|
|
* @param userId 用户唯一标识符,用于确定要查询哪个用户的订单。
|
|
|
|
|
* @param status 订单的状态码,用于过滤符合条件的订单。
|
|
|
|
|
* 如果为 null,则表示不根据订单状态进行过滤。
|
|
|
|
|
* @return 返回一个 IPage<MyOrderDto> 对象,其中包含分页后的订单信息列表,
|
|
|
|
|
* 以及与分页相关的元数据(如总记录数、总页数等)。
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
public IPage<MyOrderDto> pageMyOrderByUserIdAndStatus(Page<MyOrderDto> page, String userId, Integer status) {
|
|
|
|
|
// 使用 PageAdapter 将传入的分页对象适配成适合底层查询的形式
|
|
|
|
|
page.setRecords(orderMapper.listMyOrderByUserIdAndStatus(new PageAdapter(page), userId, status));
|
|
|
|
|
|
|
|
|
|
// 查询满足条件的订单总数,以便设置分页对象的总记录数
|
|
|
|
|
page.setTotal(orderMapper.countMyOrderByUserIdAndStatus(userId, status));
|
|
|
|
|
|
|
|
|
|
// 返回填充了数据的分页对象
|
|
|
|
|
return page;
|
|
|
|
|
}
|
|
|
|
|
}
|