diff --git a/spzx-service/service-order/src/main/java/com/atguigu/order/controller/OrderInfoController.java b/spzx-service/service-order/src/main/java/com/atguigu/order/controller/OrderInfoController.java index 11c7e9e..4dc09cf 100644 --- a/spzx-service/service-order/src/main/java/com/atguigu/order/controller/OrderInfoController.java +++ b/spzx-service/service-order/src/main/java/com/atguigu/order/controller/OrderInfoController.java @@ -5,6 +5,7 @@ import com.atguigu.spzx.model.dto.h5.OrderInfoDto; import com.atguigu.spzx.model.entity.order.OrderInfo; import com.atguigu.spzx.model.vo.h5.TradeVo; import com.atguigu.spzx.model.vo.result.Result; +import com.github.pagehelper.PageInfo; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; @@ -45,4 +46,17 @@ public class OrderInfoController { TradeVo tradeVo = orderInfoService.buy(skuId); return Result.success(tradeVo); } + + @Operation(summary = "获取订单分页列表") + @GetMapping("auth/{page}/{limit}") + public Result> list( + @Parameter(name = "page", description = "当前页码", required = true) + @PathVariable Integer page, + @Parameter(name = "limit", description = "每页记录数", required = true) + @PathVariable Integer limit, + @Parameter(name = "orderStatus", description = "订单状态", required = false) + @RequestParam(required = false, defaultValue = "") Integer orderStatus) { + PageInfo pageInfo = orderInfoService.findUserPage(page, limit, orderStatus); + return Result.success(pageInfo); + } } \ No newline at end of file diff --git a/spzx-service/service-order/src/main/java/com/atguigu/order/mapper/OrderInfoMapper.java b/spzx-service/service-order/src/main/java/com/atguigu/order/mapper/OrderInfoMapper.java index 091489f..ebdd1f0 100644 --- a/spzx-service/service-order/src/main/java/com/atguigu/order/mapper/OrderInfoMapper.java +++ b/spzx-service/service-order/src/main/java/com/atguigu/order/mapper/OrderInfoMapper.java @@ -3,6 +3,8 @@ package com.atguigu.order.mapper; import com.atguigu.spzx.model.entity.order.OrderInfo; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + @Mapper public interface OrderInfoMapper { /** @@ -19,4 +21,6 @@ public interface OrderInfoMapper { * @return OrderInfo */ OrderInfo getById(Long orderId); + + List findUserPage(Long userId, Integer orderStatus); } diff --git a/spzx-service/service-order/src/main/java/com/atguigu/order/mapper/OrderItemMapper.java b/spzx-service/service-order/src/main/java/com/atguigu/order/mapper/OrderItemMapper.java index 7d50687..a646571 100644 --- a/spzx-service/service-order/src/main/java/com/atguigu/order/mapper/OrderItemMapper.java +++ b/spzx-service/service-order/src/main/java/com/atguigu/order/mapper/OrderItemMapper.java @@ -3,6 +3,8 @@ package com.atguigu.order.mapper; import com.atguigu.spzx.model.entity.order.OrderItem; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + @Mapper public interface OrderItemMapper { /** @@ -11,4 +13,6 @@ public interface OrderItemMapper { * @param orderItem orderItem */ void save(OrderItem orderItem); + + List findByOrderId(Long id); } \ No newline at end of file diff --git a/spzx-service/service-order/src/main/java/com/atguigu/order/service/OrderInfoService.java b/spzx-service/service-order/src/main/java/com/atguigu/order/service/OrderInfoService.java index d5e82e3..b1bcaa8 100644 --- a/spzx-service/service-order/src/main/java/com/atguigu/order/service/OrderInfoService.java +++ b/spzx-service/service-order/src/main/java/com/atguigu/order/service/OrderInfoService.java @@ -3,6 +3,7 @@ package com.atguigu.order.service; import com.atguigu.spzx.model.dto.h5.OrderInfoDto; import com.atguigu.spzx.model.entity.order.OrderInfo; import com.atguigu.spzx.model.vo.h5.TradeVo; +import com.github.pagehelper.PageInfo; public interface OrderInfoService { /** @@ -35,4 +36,14 @@ public interface OrderInfoService { * @return 结算实体类 */ TradeVo buy(Long skuId); + + /** + * 获取订单分页列表 + * + * @param page page + * @param limit limit + * @param orderStatus orderStatus + * @return PageInfo + */ + PageInfo findUserPage(Integer page, Integer limit, Integer orderStatus); } diff --git a/spzx-service/service-order/src/main/java/com/atguigu/order/service/impl/OrderInfoServiceImpl.java b/spzx-service/service-order/src/main/java/com/atguigu/order/service/impl/OrderInfoServiceImpl.java index 02cc8e9..7c55136 100644 --- a/spzx-service/service-order/src/main/java/com/atguigu/order/service/impl/OrderInfoServiceImpl.java +++ b/spzx-service/service-order/src/main/java/com/atguigu/order/service/impl/OrderInfoServiceImpl.java @@ -22,6 +22,7 @@ import com.atguigu.spzx.model.entity.user.UserInfo; import com.atguigu.spzx.model.vo.h5.TradeVo; import com.atguigu.spzx.model.vo.result.ResultCodeEnum; import com.atguigu.utils.EmptyUtil; +import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -189,4 +190,25 @@ public class OrderInfoServiceImpl implements OrderInfoService { // 返回 return tradeVo; } + + /** + * 获取订单分页列表 + * + * @param page page + * @param limit limit + * @param orderStatus orderStatus + * @return PageInfo + */ + @Override + public PageInfo findUserPage(Integer page, Integer limit, Integer orderStatus) { + Long userId = BaseContext.getUserInfo().getId(); + List orderInfoList = orderInfoMapper.findUserPage(userId, orderStatus); + + orderInfoList.forEach(orderInfo -> { + List orderItem = orderItemMapper.findByOrderId(orderInfo.getId()); + orderInfo.setOrderItemList(orderItem); + }); + + return new PageInfo<>(orderInfoList); + } } diff --git a/spzx-service/service-order/src/main/resources/mapper/OrderInfoMapper.xml b/spzx-service/service-order/src/main/resources/mapper/OrderInfoMapper.xml index 7dbd91b..95c8172 100644 --- a/spzx-service/service-order/src/main/resources/mapper/OrderInfoMapper.xml +++ b/spzx-service/service-order/src/main/resources/mapper/OrderInfoMapper.xml @@ -66,4 +66,19 @@ where id = #{id} + diff --git a/spzx-service/service-order/src/main/resources/mapper/OrderItemMapper.xml b/spzx-service/service-order/src/main/resources/mapper/OrderItemMapper.xml index 0cf73a0..1b89b42 100644 --- a/spzx-service/service-order/src/main/resources/mapper/OrderItemMapper.xml +++ b/spzx-service/service-order/src/main/resources/mapper/OrderItemMapper.xml @@ -23,4 +23,13 @@ #{skuPrice}, #{skuNum}) +