diff --git a/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java b/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java index 65845e4f..1d554def 100644 --- a/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java +++ b/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java @@ -10,6 +10,7 @@ import com.peanut.config.Constants; import com.peanut.config.DelayQueueConfig; import com.peanut.modules.book.entity.*; import com.peanut.modules.book.service.*; +import com.peanut.modules.book.to.UserOrderDto; import com.peanut.modules.book.vo.UserAddressVo; import com.peanut.modules.book.vo.request.BuyOrderListRequestVo; import com.peanut.modules.book.vo.request.ModifyOrderAddressRequestVo; @@ -115,6 +116,17 @@ public class BuyOrderController { return R.ok().put("result", result); } + /** + * 获取用户订单列表 + * @param userOrderDto + * @return + */ + @RequestMapping("/getUserOrderList") + public R getUserOrderList(@RequestBody UserOrderDto userOrderDto){ + Page userOrderList = buyOrderService.getUserOrderList(userOrderDto); + return R.ok().put("page",userOrderList); + } + /** * 订单详情 * diff --git a/src/main/java/com/peanut/modules/book/entity/BuyOrderProduct.java b/src/main/java/com/peanut/modules/book/entity/BuyOrderProduct.java index 66e14265..777419ec 100644 --- a/src/main/java/com/peanut/modules/book/entity/BuyOrderProduct.java +++ b/src/main/java/com/peanut/modules/book/entity/BuyOrderProduct.java @@ -1,5 +1,6 @@ package com.peanut.modules.book.entity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -32,7 +33,7 @@ public class BuyOrderProduct { /** * 商品价格 */ -// private BigDecimal realPrice; + private BigDecimal realPrice; /** * 快递订单 ID */ @@ -49,4 +50,7 @@ public class BuyOrderProduct { * 发货标识 */ private int shipped; + + @TableField(exist = false) + private ShopProduct product; } diff --git a/src/main/java/com/peanut/modules/book/service/BuyOrderService.java b/src/main/java/com/peanut/modules/book/service/BuyOrderService.java index ddb4a0f9..6c18ffb6 100644 --- a/src/main/java/com/peanut/modules/book/service/BuyOrderService.java +++ b/src/main/java/com/peanut/modules/book/service/BuyOrderService.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.peanut.common.utils.PageUtils; import com.peanut.modules.book.entity.BuyOrder; +import com.peanut.modules.book.to.UserOrderDto; import com.peanut.modules.book.vo.UserOrderVo; import com.peanut.modules.book.vo.request.BuyOrderListRequestVo; import com.peanut.modules.book.vo.response.BuyOrderResponseVo; @@ -50,6 +51,8 @@ public interface BuyOrderService extends IService { */ void delivery(String expressCompanyCode, List buyOrderDetailId); + Page getUserOrderList(UserOrderDto userOrderDto); + BuyOrderResponseVo orderDetail(String orderSn); Map decomposeShipment(BuyOrderListRequestVo requestVo); diff --git a/src/main/java/com/peanut/modules/book/service/impl/BuyOrderServiceImpl.java b/src/main/java/com/peanut/modules/book/service/impl/BuyOrderServiceImpl.java index 2e4bf5f6..3f7a0755 100644 --- a/src/main/java/com/peanut/modules/book/service/impl/BuyOrderServiceImpl.java +++ b/src/main/java/com/peanut/modules/book/service/impl/BuyOrderServiceImpl.java @@ -1,6 +1,7 @@ package com.peanut.modules.book.service.impl; import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; @@ -15,6 +16,7 @@ import com.peanut.modules.book.dao.BuyOrderDao; import com.peanut.modules.book.dao.ExpressOrderDao; import com.peanut.modules.book.entity.*; import com.peanut.modules.book.service.*; +import com.peanut.modules.book.to.UserOrderDto; import com.peanut.modules.book.vo.ExpressOrderResponseVo; import com.peanut.modules.book.vo.UserOrderVo; import com.peanut.modules.book.vo.request.BuyOrderListRequestVo; @@ -357,6 +359,26 @@ public class BuyOrderServiceImpl extends ServiceImpl impl return result; } + @Override + public Page getUserOrderList(UserOrderDto userOrderDto) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(BuyOrder::getUserId,userOrderDto.getUserId()); + wrapper.eq(userOrderDto.getOrderStatus()!=null,BuyOrder::getOrderStatus,userOrderDto.getOrderStatus()); + Page buyOrderPage = this.getBaseMapper().selectPage(new Page<>(userOrderDto.getPage(), userOrderDto.getLimit()), wrapper); + for(BuyOrder b : buyOrderPage.getRecords()){ + b.setUser(myUserService.getById(b.getUserId())); + //组装商品 + List buyOrderProducts = buyOrderProductService.getBaseMapper().selectList(new LambdaQueryWrapper() + .eq(BuyOrderProduct::getOrderId, b.getOrderId())); + for (BuyOrderProduct bb : buyOrderProducts){ + bb.setProduct(shopProductService.getById(bb.getProductId())); + } + b.setProductList(buyOrderProducts); + b.setTimestamp(b.getCreateTime().getTime()); + } + + return buyOrderPage; + } @Override public void delivery(String expressCompanyCode, List buyOrderProductId) { @@ -535,4 +557,6 @@ public class BuyOrderServiceImpl extends ServiceImpl impl responseVo.setGoodsList(goodsResponseVoList); return responseVo; } + + } \ No newline at end of file diff --git a/src/main/java/com/peanut/modules/book/to/UserOrderDto.java b/src/main/java/com/peanut/modules/book/to/UserOrderDto.java new file mode 100644 index 00000000..a1c8aa28 --- /dev/null +++ b/src/main/java/com/peanut/modules/book/to/UserOrderDto.java @@ -0,0 +1,14 @@ +package com.peanut.modules.book.to; + +import lombok.Data; + +import java.io.Serializable; + +@Data +public class UserOrderDto implements Serializable { + + private Integer userId; + private Integer orderStatus; + private Integer limit; + private Integer page; +} diff --git a/src/main/resources/mapper/book/ShopProductDao.xml b/src/main/resources/mapper/book/ShopProductDao.xml index 41e5d277..ec5469bb 100644 --- a/src/main/resources/mapper/book/ShopProductDao.xml +++ b/src/main/resources/mapper/book/ShopProductDao.xml @@ -50,7 +50,7 @@ order by a.sort desc - select sum(weight) from shop_product where product_id in #{id}