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 38c649d4..4295d5ac 100644 --- a/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java +++ b/src/main/java/com/peanut/modules/book/controller/BuyOrderController.java @@ -10,8 +10,10 @@ 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.vo.request.BuyOrderListRequestVo; import com.peanut.modules.book.vo.request.ProductRequestVo; import com.peanut.modules.book.vo.request.ProductTransportVo; +import com.peanut.modules.book.vo.response.BuyOrderListResponseVo; import com.peanut.modules.book.vo.response.ExpressQueryResponseVo; import com.peanut.modules.book.vo.ShippingAddressRequestVo; import com.peanut.modules.book.vo.UserAddressVo; @@ -91,6 +93,18 @@ public class BuyOrderController { return R.ok().put("page", page); } + /** + * 订单列表 + * + * @param requestVo request value object + * @return R + */ + @RequestMapping(path = "orderList", method = RequestMethod.POST) + public R orderList(@RequestBody BuyOrderListRequestVo requestVo) { + List response = buyOrderService.orderList(requestVo); + return R.ok().put("result", response); + } + /** * 下单 * diff --git a/src/main/java/com/peanut/modules/book/dao/BuyOrderDao.java b/src/main/java/com/peanut/modules/book/dao/BuyOrderDao.java index a7257037..ee60c5a9 100644 --- a/src/main/java/com/peanut/modules/book/dao/BuyOrderDao.java +++ b/src/main/java/com/peanut/modules/book/dao/BuyOrderDao.java @@ -2,20 +2,21 @@ package com.peanut.modules.book.dao; import com.peanut.modules.book.entity.BuyOrder; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.peanut.modules.book.vo.request.BuyOrderListRequestVo; +import com.peanut.modules.book.vo.response.BuyOrderListResponseVo; import org.apache.ibatis.annotations.Mapper; import java.util.List; /** * 订单表 - * + * * @author yl * @email yl328572838@163.com * @date 2022-08-29 15:27:44 */ @Mapper public interface BuyOrderDao extends BaseMapper { + List orderList(BuyOrderListRequestVo requestVo); - public List queryListByOrderIds(Integer[] ids); - } diff --git a/src/main/java/com/peanut/modules/book/dao/BuyOrderProductDao.java b/src/main/java/com/peanut/modules/book/dao/BuyOrderProductDao.java new file mode 100644 index 00000000..adae94de --- /dev/null +++ b/src/main/java/com/peanut/modules/book/dao/BuyOrderProductDao.java @@ -0,0 +1,9 @@ +package com.peanut.modules.book.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.peanut.modules.book.entity.BuyOrderProduct; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface BuyOrderProductDao extends BaseMapper { +} diff --git a/src/main/java/com/peanut/modules/book/entity/BuyOrderProduct.java b/src/main/java/com/peanut/modules/book/entity/BuyOrderProduct.java new file mode 100644 index 00000000..74c6a97d --- /dev/null +++ b/src/main/java/com/peanut/modules/book/entity/BuyOrderProduct.java @@ -0,0 +1,44 @@ +package com.peanut.modules.book.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @Description: 订单-商品 + * @Author: Cauchy + * @CreateTime: 2023/10/19 + */ +@Data +@TableName("buy_order_product") +public class BuyOrderProduct { + /** + * 主键 ID + */ + private int id; + /** + * 订单 ID + */ + private int orderId; + /** + * 商品 ID + */ + private int productId; + /** + * 商品数量 + */ + private int quantity; + /** + * 商品价格 + */ + private BigDecimal realPrice; + /** + * 快递订单 ID + */ + private int express_order_id; + /** + * 删除标识 + */ + private int delFlag; +} diff --git a/src/main/java/com/peanut/modules/book/service/BuyOrderProductService.java b/src/main/java/com/peanut/modules/book/service/BuyOrderProductService.java new file mode 100644 index 00000000..a29b3ff2 --- /dev/null +++ b/src/main/java/com/peanut/modules/book/service/BuyOrderProductService.java @@ -0,0 +1,9 @@ +package com.peanut.modules.book.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.peanut.modules.book.entity.BuyOrderProduct; +import org.springframework.stereotype.Service; + +@Service +public interface BuyOrderProductService extends IService { +} 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 42031471..091af498 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,8 @@ 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.vo.UserOrderVo; +import com.peanut.modules.book.vo.request.BuyOrderListRequestVo; +import com.peanut.modules.book.vo.response.BuyOrderListResponseVo; import java.util.List; import java.util.Map; @@ -31,6 +33,8 @@ public interface BuyOrderService extends IService { // 查询所有订单是否有可合并 Page checkOrder(Map params); + List orderList(BuyOrderListRequestVo requestVo); + /** * 订单拆分发货 * diff --git a/src/main/java/com/peanut/modules/book/service/impl/BuyOrderProductServiceImpl.java b/src/main/java/com/peanut/modules/book/service/impl/BuyOrderProductServiceImpl.java new file mode 100644 index 00000000..af824a5d --- /dev/null +++ b/src/main/java/com/peanut/modules/book/service/impl/BuyOrderProductServiceImpl.java @@ -0,0 +1,16 @@ +package com.peanut.modules.book.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.peanut.modules.book.dao.BuyOrderProductDao; +import com.peanut.modules.book.entity.BuyOrderProduct; +import com.peanut.modules.book.service.BuyOrderProductService; +import org.springframework.stereotype.Service; + +/** + * @Description: 订单-商品 Service 实现类 + * @Author: Cauchy + * @CreateTime: 2023/10/19 + */ +@Service +public class BuyOrderProductServiceImpl extends ServiceImpl implements BuyOrderProductService { +} 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 35f3d166..39b9795b 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 @@ -15,6 +15,9 @@ import com.peanut.modules.book.service.*; import com.peanut.modules.book.entity.ExpressCommodity; import com.peanut.modules.book.vo.ExpressOrderResponseVo; import com.peanut.modules.book.vo.UserOrderVo; +import com.peanut.modules.book.vo.request.BuyOrderListRequestVo; +import com.peanut.modules.book.vo.response.BuyOrderListResponseVo; +import com.peanut.modules.book.vo.response.ConsigneeVo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -48,6 +51,9 @@ public class BuyOrderServiceImpl extends ServiceImpl impl @Autowired ShopProductService shopProductService; + @Autowired + private BuyOrderDao buyOrderDao; + protected Logger logger = LoggerFactory.getLogger(BuyOrderServiceImpl.class); @@ -86,8 +92,6 @@ public class BuyOrderServiceImpl extends ServiceImpl impl } - - List records = page.getRecords(); for (BuyOrder record : records) { Integer userId = record.getUserId(); @@ -103,7 +107,7 @@ public class BuyOrderServiceImpl extends ServiceImpl impl return new PageUtils(page); } - public void list1(){ + public void list1() { } @@ -286,6 +290,33 @@ public class BuyOrderServiceImpl extends ServiceImpl impl return rntPage; } + @Override + public List orderList(BuyOrderListRequestVo requestVo) { + List buyOrderList = buyOrderDao.orderList(requestVo); + List result = new ArrayList<>(); + for (BuyOrder buyOrder : buyOrderList) { + BuyOrderListResponseVo responseVo = new BuyOrderListResponseVo(); + responseVo.setOrderSn(buyOrder.getOrderSn()); + responseVo.setOrderStatus(buyOrder.getOrderStatus()); + responseVo.setRemark(buyOrder.getRemark()); + responseVo.setPaymentDate(buyOrder.getPaymentDate()); + responseVo.setPaymentMethod(buyOrder.getPaymentMethod()); + ConsigneeVo consigneeVo = new ConsigneeVo(); + consigneeVo.setConsigneeName(buyOrder.getShippingUser()); + consigneeVo.setConsigneeMobile(buyOrder.getUserPhone()); + consigneeVo.setProvince(buyOrder.getProvince()); + consigneeVo.setCity(buyOrder.getCity()); + consigneeVo.setCounty(buyOrder.getDistrict()); + consigneeVo.setAddress(buyOrder.getAddress()); + responseVo.setConsignee(consigneeVo); +// responseVo.setExpressList(); +// responseVo.setGoodsList(); + requestVo.setIndex((requestVo.getIndex() - 1) * requestVo.getPageSize()); + result.add(responseVo); + } + return result; + } + @Override public void delivery(String expressCompanyCode, List buyOrderDetailId) { QueryWrapper queryWrapper = new QueryWrapper<>(); diff --git a/src/main/java/com/peanut/modules/book/vo/request/BuyOrderListRequestVo.java b/src/main/java/com/peanut/modules/book/vo/request/BuyOrderListRequestVo.java index 89346e84..e9a35f3e 100644 --- a/src/main/java/com/peanut/modules/book/vo/request/BuyOrderListRequestVo.java +++ b/src/main/java/com/peanut/modules/book/vo/request/BuyOrderListRequestVo.java @@ -35,4 +35,8 @@ public class BuyOrderListRequestVo { * 订单状态 */ private Integer orderStatus; + /** + * 数据起始位置 + */ + private Integer index; } diff --git a/src/main/java/com/peanut/modules/book/vo/response/BuyOrderListResponseVo.java b/src/main/java/com/peanut/modules/book/vo/response/BuyOrderListResponseVo.java new file mode 100644 index 00000000..93d87894 --- /dev/null +++ b/src/main/java/com/peanut/modules/book/vo/response/BuyOrderListResponseVo.java @@ -0,0 +1,47 @@ +package com.peanut.modules.book.vo.response; + +import lombok.Data; + +import java.util.Date; +import java.util.List; + +/** + * @Description: 订单列表相应 Value Object + * @Author: Cauchy + * @CreateTime: 2023/10/19 + */ +@Data +public class BuyOrderListResponseVo { + /** + * 订单号 + */ + private String orderSn; + /** + * 支付方式 + */ + private String paymentMethod; + /** + * 订单状态 + */ + private String orderStatus; + /** + * 备注 + */ + private String remark; + /** + * 支付时间 + */ + private Date paymentDate; + /** + * 商品列表 + */ + private List goodsList; + /** + * 快递列表 + */ + private List expressList; + /** + * 收货人信息 + */ + private ConsigneeVo consignee; +} diff --git a/src/main/java/com/peanut/modules/book/vo/response/ConsigneeVo.java b/src/main/java/com/peanut/modules/book/vo/response/ConsigneeVo.java new file mode 100644 index 00000000..11268b02 --- /dev/null +++ b/src/main/java/com/peanut/modules/book/vo/response/ConsigneeVo.java @@ -0,0 +1,37 @@ +package com.peanut.modules.book.vo.response; + +import lombok.Data; + +/** + * @Description: 收货人 Value Object + * @Author: Cauchy + * @CreateTime: 2023/10/19 + */ +@Data +public class ConsigneeVo { + /** + * 收货人姓名 + */ + private String consigneeName; + /** + * 收货人电话 + */ + private String consigneeMobile; + /** + * 省份 + */ + private String province; + /** + * 城市 + */ + private String city; + /** + * 区县 + */ + private String county; + /** + * 详细地址 + */ + private String address; + +} diff --git a/src/main/java/com/peanut/modules/book/vo/response/ExpressResponseVo.java b/src/main/java/com/peanut/modules/book/vo/response/ExpressResponseVo.java new file mode 100644 index 00000000..5a6bf536 --- /dev/null +++ b/src/main/java/com/peanut/modules/book/vo/response/ExpressResponseVo.java @@ -0,0 +1,24 @@ +package com.peanut.modules.book.vo.response; + +import lombok.Data; + +/** + * @Description: 物流响应 Value Object + * @Author: Cauchy + * @CreateTime: 2023/10/19 + */ +@Data +public class ExpressResponseVo { + /** + * 快递单号 + */ + private String expressOrderSn; + /** + * 快递公司 + */ + private String expressCompany; + /** + * 快递面单 + */ + private String printTemplate; +} diff --git a/src/main/java/com/peanut/modules/book/vo/response/GoodsResponseVo.java b/src/main/java/com/peanut/modules/book/vo/response/GoodsResponseVo.java new file mode 100644 index 00000000..e85c9d83 --- /dev/null +++ b/src/main/java/com/peanut/modules/book/vo/response/GoodsResponseVo.java @@ -0,0 +1,26 @@ +package com.peanut.modules.book.vo.response; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @Description: 商品信息 Value Object + * @Author: Cauchy + * @CreateTime: 2023/10/19 + */ +@Data +public class GoodsResponseVo { + /** + * 商品名称 + */ + private String productName; + /** + * 商品图片 + */ + private String productImage; + /** + * 商品价格 + */ + private BigDecimal productPrice; +} diff --git a/src/main/resources/mapper/book/BuyOrderDao.xml b/src/main/resources/mapper/book/BuyOrderDao.xml index 44e727d5..d6520c67 100644 --- a/src/main/resources/mapper/book/BuyOrderDao.xml +++ b/src/main/resources/mapper/book/BuyOrderDao.xml @@ -3,71 +3,92 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - + - + + \ No newline at end of file