From 8ab71b41b745dee81f591ff20c07f325318c53c4 Mon Sep 17 00:00:00 2001 From: quyixiao <2621048238@qq.com> Date: Sat, 23 Aug 2025 13:18:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../heyu/api/data/dao/vv/VvPackageDao.java | 6 + .../api/data/dao/vv/VvShoppingCartDao.java | 40 +++-- .../heyu/api/data/dao/vv/VvTradeOrderDao.java | 45 ++++-- .../api/data/dao/vv/VvTradeOrderLineDao.java | 13 ++ .../api/data/entity/vv/VvPackageEntity.java | 10 +- .../data/entity/vv/VvShoppingCartEntity.java | 38 ++--- .../entity/vv/VvTradeOrderLineEntity.java | 22 +-- .../java/com/test/xxx/MysqlMain_update.java | 2 +- .../request/mm/order/VVOrderRequest.java | 35 ++++ .../request/mm/order/resp/PackageDTO.java | 14 ++ .../mm/order/resp/ShippingCartRequest.java | 26 +++ .../mm/order/resp/VVOrderListResp.java | 28 ++++ .../api/controller/mm/OrderController.java | 151 +++++++++++++++++- .../controller/mm/ShoppingCartController.java | 42 +++++ 14 files changed, 403 insertions(+), 69 deletions(-) create mode 100644 api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/PackageDTO.java create mode 100644 api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/ShippingCartRequest.java create mode 100644 api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VVOrderListResp.java create mode 100644 api-web/api-interface/src/main/java/com/heyu/api/controller/mm/ShoppingCartController.java diff --git a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvPackageDao.java b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvPackageDao.java index 7c6744a..78a5bbe 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvPackageDao.java +++ b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvPackageDao.java @@ -11,6 +11,9 @@ import com.heyu.api.data.entity.vv.VvPackageEntity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; + +import java.util.List; + @Mapper public interface VvPackageDao extends BaseMapper { @@ -33,4 +36,7 @@ public interface VvPackageDao extends BaseMapper { int deleteVvPackageById(@Param("id")Long id); + + + List selectVvPackageByTrackNumbers(List trackNumbers); } \ No newline at end of file diff --git a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvShoppingCartDao.java b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvShoppingCartDao.java index 094c395..8ace187 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvShoppingCartDao.java +++ b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvShoppingCartDao.java @@ -1,36 +1,50 @@ package com.heyu.api.data.dao.vv; /** -*

-* 购物车 服务类 -*

-* -* @author quyixiao -* @since 2025-08-23 -*/ + *

+ * 购物车 服务类 + *

+ * + * @author quyixiao + * @since 2025-08-23 + */ + +import com.baomidou.mybatisplus.core.metadata.IPage; import com.heyu.api.data.entity.vv.VvShoppingCartEntity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.lz.mybatis.plugin.annotations.IF; +import com.lz.mybatis.plugin.annotations.LIKE; +import com.lz.mybatis.plugin.annotations.OrderBy; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; + +import java.util.List; + @Mapper public interface VvShoppingCartDao extends BaseMapper { - VvShoppingCartEntity selectVvShoppingCartById(@Param("id")Long id); + VvShoppingCartEntity selectVvShoppingCartById(@Param("id") Long id); - Long insertVvShoppingCart(VvShoppingCartEntity vvShoppingCart); + Long insertVvShoppingCart(VvShoppingCartEntity vvShoppingCart); - Long insertOrUpdateVvShoppingCart(VvShoppingCartEntity vvShoppingCart); + Long insertOrUpdateVvShoppingCart(VvShoppingCartEntity vvShoppingCart); - int updateVvShoppingCartById(VvShoppingCartEntity vvShoppingCart); + int updateVvShoppingCartById(VvShoppingCartEntity vvShoppingCart); - int updateCoverVvShoppingCartById(VvShoppingCartEntity vvShoppingCart); + int updateCoverVvShoppingCartById(VvShoppingCartEntity vvShoppingCart); - int deleteVvShoppingCartById(@Param("id")Long id); + int deleteVvShoppingCartById(@Param("id") Long id); + @OrderBy(VvShoppingCartEntity.id_) + List selectByCondition(IPage page, + @IF @LIKE String productName, + @IF @LIKE String buyerPhone, + @IF @LIKE String buyerName, + @IF @LIKE String buyerWeixin); } \ No newline at end of file diff --git a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvTradeOrderDao.java b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvTradeOrderDao.java index c21a090..9d934e9 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvTradeOrderDao.java +++ b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvTradeOrderDao.java @@ -1,36 +1,55 @@ package com.heyu.api.data.dao.vv; /** -*

-* 购物车 服务类 -*

-* -* @author quyixiao -* @since 2025-08-23 -*/ + *

+ * 购物车 服务类 + *

+ * + * @author quyixiao + * @since 2025-08-23 + */ + +import com.baomidou.mybatisplus.core.metadata.IPage; import com.heyu.api.data.entity.vv.VvTradeOrderEntity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.lz.mybatis.plugin.annotations.*; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; + +import java.math.BigDecimal; +import java.util.List; + @Mapper public interface VvTradeOrderDao extends BaseMapper { - VvTradeOrderEntity selectVvTradeOrderById(@Param("id")Long id); + VvTradeOrderEntity selectVvTradeOrderById(@Param("id") Long id); - Long insertVvTradeOrder(VvTradeOrderEntity vvTradeOrder); + Long insertVvTradeOrder(VvTradeOrderEntity vvTradeOrder); - Long insertOrUpdateVvTradeOrder(VvTradeOrderEntity vvTradeOrder); + Long insertOrUpdateVvTradeOrder(VvTradeOrderEntity vvTradeOrder); - int updateVvTradeOrderById(VvTradeOrderEntity vvTradeOrder); + int updateVvTradeOrderById(VvTradeOrderEntity vvTradeOrder); - int updateCoverVvTradeOrderById(VvTradeOrderEntity vvTradeOrder); + int updateCoverVvTradeOrderById(VvTradeOrderEntity vvTradeOrder); - int deleteVvTradeOrderById(@Param("id")Long id); + int deleteVvTradeOrderById(@Param("id") Long id); + @OrderBy(VvTradeOrderEntity.id_) + List selectByCondition(IPage page, + @IF @IN List id, + @IF @LIKE String buyerPhone, + @IF @LIKE String buyerWeixin, + @IF @LIKE String buyerName, + @IF @GE BigDecimal minAllPrice, + @IF @LE BigDecimal maxAllPrice, + @IF String status, + @IF @GE Long minCreateTimestamp, + @IF @LE Long maxCreateTimestamp, + @OrderBy(VvTradeOrderEntity.create_timestamp) String createTimestampSort); } \ No newline at end of file diff --git a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvTradeOrderLineDao.java b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvTradeOrderLineDao.java index c722c21..3384d4c 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvTradeOrderLineDao.java +++ b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvTradeOrderLineDao.java @@ -9,8 +9,14 @@ package com.heyu.api.data.dao.vv; */ import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.lz.mybatis.plugin.annotations.GroupBy; +import com.lz.mybatis.plugin.annotations.LIKE; +import com.lz.mybatis.plugin.annotations.OrderBy; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; + +import java.util.List; + @Mapper public interface VvTradeOrderLineDao extends BaseMapper { @@ -32,5 +38,12 @@ public interface VvTradeOrderLineDao extends BaseMapper int deleteVvTradeOrderLineById(@Param("id")Long id); + @OrderBy(VvTradeOrderLineEntity.id_) + @GroupBy(VvTradeOrderLineEntity.trade_order_id) + List selectVvTradeOrderLineByProductName(@LIKE String productName); + + + + List selectVvTradeOrderLineByTradeOrderIds(List tradeOrderId); } \ No newline at end of file diff --git a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvPackageEntity.java b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvPackageEntity.java index 11f6fb0..dcde3c7 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvPackageEntity.java +++ b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvPackageEntity.java @@ -1,12 +1,12 @@ package com.heyu.api.data.entity.vv; + import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; -import com.lz.mybatis.plugin.annotations.AS; import java.math.BigDecimal; -import java.util.Date;import java.util.Date; +import java.util.Date; /** *包裹表 * @author quyixiao @@ -46,7 +46,7 @@ private static final long serialVersionUID = 1L; //包裹物流信息 private String packageLogisticsInfo; //订单追踪号 - private Integer trackNumber; + private String trackNumber; //物流公司 private String logisticsCompany; //发货地址 @@ -149,14 +149,14 @@ private static final long serialVersionUID = 1L; * 订单追踪号 * @return */ - public Integer getTrackNumber() { + public String getTrackNumber() { return trackNumber; } /** * 订单追踪号 * @param trackNumber */ - public void setTrackNumber(Integer trackNumber) { + public void setTrackNumber(String trackNumber) { this.trackNumber = trackNumber; } diff --git a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvShoppingCartEntity.java b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvShoppingCartEntity.java index c8b625f..6af6653 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvShoppingCartEntity.java +++ b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvShoppingCartEntity.java @@ -21,18 +21,18 @@ private static final long serialVersionUID = 1L; public final static String CLASS_NAME ="com.heyu.api.data.entity.vv.VvShoppingCartEntity:"; public final static String all = CLASS_NAME + "*"; - public final static String id_ = CLASS_NAME + "id"; // - public final static String is_delete = CLASS_NAME + "is_delete"; // 是否删除:0 否 1 删除 - public final static String create_time = CLASS_NAME + "create_time"; // 创建时间 - public final static String modify_time = CLASS_NAME + "modify_time"; // 修改时间 - public final static String product_name = CLASS_NAME + "product_name"; // 商品标题 - public final static String property_info = CLASS_NAME + "property_info"; // 属性信息json - public final static String single_price = CLASS_NAME + "single_price"; // 单价 - public final static String num_ = CLASS_NAME + "num"; // 数量 - public final static String buyer_phone = CLASS_NAME + "buyer_phone"; // 买家手机号 - public final static String buyer_name = CLASS_NAME + "buyer_name"; // 买家名 - public final static String buyer_weixin = CLASS_NAME + "buyer_weixin"; // 买家微信 - public final static String all_price = CLASS_NAME + "all_price"; // 总价 + public final static String id_ = CLASS_NAME + "id"; // + public final static String is_delete = CLASS_NAME + "is_delete"; // 是否删除:0 否 1 删除 + public final static String create_time = CLASS_NAME + "create_time"; // 创建时间 + public final static String modify_time = CLASS_NAME + "modify_time"; // 修改时间 + public final static String product_name = CLASS_NAME + "product_name"; // 商品标题 + public final static String sku_info = CLASS_NAME + "sku_info"; // 属性信息json + public final static String single_price = CLASS_NAME + "single_price"; // 单价 + public final static String num_ = CLASS_NAME + "num"; // 数量 + public final static String buyer_phone = CLASS_NAME + "buyer_phone"; // 买家手机号 + public final static String buyer_name = CLASS_NAME + "buyer_name"; // 买家名 + public final static String buyer_weixin = CLASS_NAME + "buyer_weixin"; // 买家微信 + public final static String all_price = CLASS_NAME + "all_price"; // 总价 // @TableId(value = "id", type = IdType.AUTO) private Long id; @@ -45,7 +45,7 @@ private static final long serialVersionUID = 1L; //商品标题 private String productName; //属性信息json - private String propertyInfo; + private String skuInfo; //单价 private BigDecimal singlePrice; //数量 @@ -137,15 +137,15 @@ private static final long serialVersionUID = 1L; * 属性信息json * @return */ - public String getPropertyInfo() { - return propertyInfo; + public String getSkuInfo() { + return skuInfo; } /** * 属性信息json - * @param propertyInfo + * @param skuInfo */ - public void setPropertyInfo(String propertyInfo) { - this.propertyInfo = propertyInfo; + public void setSkuInfo(String skuInfo) { + this.skuInfo = skuInfo; } /** @@ -246,7 +246,7 @@ private static final long serialVersionUID = 1L; ",createTime=" + createTime + ",modifyTime=" + modifyTime + ",productName=" + productName + - ",propertyInfo=" + propertyInfo + + ",skuInfo=" + skuInfo + ",singlePrice=" + singlePrice + ",num=" + num + ",buyerPhone=" + buyerPhone + diff --git a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvTradeOrderLineEntity.java b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvTradeOrderLineEntity.java index 43c9e98..8bcdfec 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvTradeOrderLineEntity.java +++ b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvTradeOrderLineEntity.java @@ -31,7 +31,7 @@ private static final long serialVersionUID = 1L; public final static String status_ = CLASS_NAME + "status"; // wait_pay:待支付,待发货:wait_shipping, 已经发货: shipping , 已接收,delivered, all_refund:全部退款,part_refund,部分退款 public final static String trade_order_id = CLASS_NAME + "trade_order_id"; // 订单号 public final static String refund_amount = CLASS_NAME + "refund_amount"; // 退款金额 - public final static String package_id = CLASS_NAME + "package_id"; // 包裹id + public final static String track_number = CLASS_NAME + "track_number"; // 包裹追踪号 public final static String refund_count = CLASS_NAME + "refund_count"; // 退货数量 public final static String product_id = CLASS_NAME + "product_id"; // 商品id public final static String product_name = CLASS_NAME + "product_name"; // 商品名称 @@ -58,8 +58,8 @@ private static final long serialVersionUID = 1L; private Long tradeOrderId; //退款金额 private BigDecimal refundAmount; - //包裹id - private Long packageId; + //包裹追踪号 + private String trackNumber; //退货数量 private Integer refundCount; //商品id @@ -221,18 +221,18 @@ private static final long serialVersionUID = 1L; } /** - * 包裹id + * 包裹追踪号 * @return */ - public Long getPackageId() { - return packageId; + public String getTrackNumber() { + return trackNumber; } /** - * 包裹id - * @param packageId + * 包裹追踪号 + * @param trackNumber */ - public void setPackageId(Long packageId) { - this.packageId = packageId; + public void setTrackNumber(String trackNumber) { + this.trackNumber = trackNumber; } /** @@ -323,7 +323,7 @@ private static final long serialVersionUID = 1L; ",status=" + status + ",tradeOrderId=" + tradeOrderId + ",refundAmount=" + refundAmount + - ",packageId=" + packageId + + ",trackNumber=" + trackNumber + ",refundCount=" + refundCount + ",productId=" + productId + ",productName=" + productName + diff --git a/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java b/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java index 01d34f2..81cdf0d 100644 --- a/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java +++ b/api-mapper/src/test/java/com/test/xxx/MysqlMain_update.java @@ -49,7 +49,7 @@ public class MysqlMain_update { List list = new ArrayList(); - String a = "vv_trade_order,vv_trade_order_line"; + String a = "vv_shopping_cart"; for (String s : a.split(",")) { list.add(new TablesBean(s)); } diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VVOrderRequest.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VVOrderRequest.java index e48d18d..97ef19a 100644 --- a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VVOrderRequest.java +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/VVOrderRequest.java @@ -3,12 +3,47 @@ package com.heyu.api.alibaba.request.mm.order; import lombok.Data; +import java.math.BigDecimal; +import java.util.List; + @Data public class VVOrderRequest { + /** + * 订单id + */ + private List orderIds; + private Integer pageNum; + private Integer pageSize; + //买家手机号 + private String buyerPhone; + //买家名 + private String buyerName; + //买家微信 + private String buyerWeixin; + //总价 + private BigDecimal minAllPrice; + //总价 + private BigDecimal maxAllPrice; + //wait_pay:待支付,待发货:wait_shipping, 已经发货: shipping , 已接收,delivered, all_refund:全部退款,part_refund,部分退款 + private String status; + + //创建时间撮,最大 + private Long minCreateTimestamp; + //创建时间撮 最小 + private Long maxCreateTimestamp; + + //商品名称 , 子单维度 + private String productName; + /** + * 按时间排序 + */ + private String createTimestampSort; } + + diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/PackageDTO.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/PackageDTO.java new file mode 100644 index 0000000..ed80f45 --- /dev/null +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/PackageDTO.java @@ -0,0 +1,14 @@ +package com.heyu.api.alibaba.request.mm.order.resp; + +import com.heyu.api.data.entity.vv.VvPackageEntity; +import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity; +import lombok.Data; + +import java.util.List; + + +@Data +public class PackageDTO extends VvPackageEntity { + + private List vvTradeOrderLineEntityList; +} diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/ShippingCartRequest.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/ShippingCartRequest.java new file mode 100644 index 0000000..2783af5 --- /dev/null +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/ShippingCartRequest.java @@ -0,0 +1,26 @@ +package com.heyu.api.alibaba.request.mm.order.resp; + + +import lombok.Data; + +@Data +public class ShippingCartRequest { + + + private Integer pageNum; + + private Integer pageSize; + + + //商品标题 + private String productName; + + //买家手机号 + private String buyerPhone; + //买家名 + private String buyerName; + //买家微信 + private String buyerWeixin; + + +} diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VVOrderListResp.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VVOrderListResp.java new file mode 100644 index 0000000..b159e26 --- /dev/null +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VVOrderListResp.java @@ -0,0 +1,28 @@ +package com.heyu.api.alibaba.request.mm.order.resp; + + +import com.heyu.api.data.entity.vv.VvTradeOrderEntity; +import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity; +import lombok.Data; + +import java.util.List; + +@Data +public class VVOrderListResp extends VvTradeOrderEntity { + + + /*** + * 订单行信息 + */ + private List vvTradeOrderLineList; + + + /*** + * 包裹信息 + */ + private List packageList; + + +} + + diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/OrderController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/OrderController.java index 3917bfa..b2a4434 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/OrderController.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/OrderController.java @@ -1,34 +1,171 @@ package com.heyu.api.controller.mm; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.heyu.api.alibaba.request.mm.order.VVOrderRequest; +import com.heyu.api.alibaba.request.mm.order.resp.PackageDTO; +import com.heyu.api.alibaba.request.mm.order.resp.VVOrderListResp; +import com.heyu.api.data.dao.vv.VvPackageDao; +import com.heyu.api.data.dao.vv.VvTradeOrderDao; +import com.heyu.api.data.dao.vv.VvTradeOrderLineDao; +import com.heyu.api.data.entity.vv.VvPackageEntity; +import com.heyu.api.data.entity.vv.VvTradeOrderEntity; +import com.heyu.api.data.entity.vv.VvTradeOrderLineEntity; import com.heyu.api.data.utils.R; +import com.heyu.api.data.utils.StringUtils; +import com.heyu.api.utils.ISelect; +import com.heyu.api.utils.PPageUtils; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections.CollectionUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + @Slf4j @RestController @RequestMapping("/mm/order") public class OrderController { + + @Autowired + private VvTradeOrderDao vvTradeOrderDao; + + + @Autowired + private VvTradeOrderLineDao vvTradeOrderLineDao; + + + @Autowired + private VvPackageDao vvPackageDao; + /*** * 列表 */ @RequestMapping("/list") public R list(VVOrderRequest vvOrderRequest) { + if (StringUtils.isNotBlank(vvOrderRequest.getProductName())) { + List list = vvTradeOrderLineDao.selectVvTradeOrderLineByProductName(vvOrderRequest.getProductName()); + List orderIds = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(vvOrderRequest.getOrderIds())) { + orderIds.addAll(vvOrderRequest.getOrderIds()); + } + for (VvTradeOrderLineEntity tradeOrderLineEntity : list) { + orderIds.add(tradeOrderLineEntity.getTradeOrderId()); + } + + vvOrderRequest.setOrderIds(orderIds); + } + PPageUtils pageUtils = PPageUtils.startPage(vvOrderRequest.getPageNum(), vvOrderRequest.getPageSize()) + .doSelect(new ISelect() { + @Override + public List doSelect(IPage page) { + return vvTradeOrderDao.selectByCondition(page, + vvOrderRequest.getOrderIds(), + vvOrderRequest.getBuyerPhone(), + vvOrderRequest.getBuyerWeixin(), + vvOrderRequest.getBuyerName(), + vvOrderRequest.getMinAllPrice(), + vvOrderRequest.getMaxAllPrice(), + vvOrderRequest.getStatus(), + vvOrderRequest.getMinCreateTimestamp(), + vvOrderRequest.getMaxCreateTimestamp(), + vvOrderRequest.getCreateTimestampSort() + ); + } + }); + List vvTradeOrderEntities = pageUtils.getRows(); + + List tradeOrderIds = new ArrayList<>(); + + for (VvTradeOrderEntity vvTradeOrderEntity : vvTradeOrderEntities) { + tradeOrderIds.add(vvTradeOrderEntity.getId()); + } + + List list = vvTradeOrderLineDao.selectVvTradeOrderLineByTradeOrderIds(tradeOrderIds); - return R.ok(); + List trackNumbers = new ArrayList<>(); + for (VvTradeOrderLineEntity vvTradeOrderLineEntity : list) { + trackNumbers.add(vvTradeOrderLineEntity.getTrackNumber()); + } + + + Map vvPackageEntityMap = new HashMap<>(); + + + if (CollectionUtils.isNotEmpty(trackNumbers)) { + List packageEntities = vvPackageDao.selectVvPackageByTrackNumbers(trackNumbers); + for (VvPackageEntity packageEntity : packageEntities) { + vvPackageEntityMap.put(packageEntity.getTrackNumber(), packageEntity); + } + } + + List vvOrderListResps = new ArrayList<>(); + for (VvTradeOrderEntity vvTradeOrderEntity : vvTradeOrderEntities) { + VVOrderListResp vvOrderListResp = new VVOrderListResp(); + BeanUtils.copyProperties(vvTradeOrderEntity, vvOrderListResp); + + List vvTradeOrderLineEntityList = new ArrayList<>(); + + + for (VvTradeOrderLineEntity tradeOrderLineEntity : list) { + if (vvTradeOrderEntity.getId().equals(tradeOrderLineEntity.getTradeOrderId())) { + vvTradeOrderLineEntityList.add(tradeOrderLineEntity); + } + } + + /*** + * 订单行信息 + */ + List vvTradeOrderLineList = new ArrayList<>(); + Map packageDTOMap = new HashMap(); + + for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) { + if (StringUtils.isNotBlank(tradeOrderLineEntity.getTrackNumber())) { + PackageDTO packageDTO = packageDTOMap.get(tradeOrderLineEntity.getTrackNumber()); + + if (packageDTO == null) { + VvPackageEntity vvPackage = vvPackageEntityMap.get(tradeOrderLineEntity.getTrackNumber()); + packageDTO = new PackageDTO(); + BeanUtils.copyProperties(vvPackage, packageDTO); + } + + List vvTradeOrderLineEntitys = packageDTO.getVvTradeOrderLineEntityList(); + if (vvTradeOrderLineEntitys == null) { + vvTradeOrderLineEntitys.add(tradeOrderLineEntity); + } + packageDTO.setVvTradeOrderLineEntityList(vvTradeOrderLineEntitys); + + packageDTOMap.put(tradeOrderLineEntity.getTrackNumber(), packageDTO); + + } else { + vvTradeOrderLineList.add(tradeOrderLineEntity); + } + } + + List packageList = new ArrayList<>(); + for (Map.Entry entry : packageDTOMap.entrySet()) { + packageList.add(entry.getValue()); + } + + + vvOrderListResp.setVvTradeOrderLineList(vvTradeOrderLineList); + vvOrderListResp.setPackageList(packageList); + + vvOrderListResps.add(vvOrderListResp); + } + + + return R.ok().setData(vvOrderListResps); } - - - - - - } diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/ShoppingCartController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/ShoppingCartController.java new file mode 100644 index 0000000..c7e39fa --- /dev/null +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/mm/ShoppingCartController.java @@ -0,0 +1,42 @@ +package com.heyu.api.controller.mm; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.heyu.api.alibaba.request.mm.order.resp.ShippingCartRequest; +import com.heyu.api.data.dao.vv.VvShoppingCartDao; +import com.heyu.api.data.utils.R; +import com.heyu.api.utils.ISelect; +import com.heyu.api.utils.PPageUtils; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@Slf4j +@RestController +@RequestMapping("/mm/shipping/cat") +public class ShoppingCartController { + + + @Autowired + private VvShoppingCartDao vvShoppingCartDao; + + @RequestMapping("/list") + public R list(ShippingCartRequest vvShoppingCartRequest) { + PPageUtils pageUtils = PPageUtils.startPage(vvShoppingCartRequest.getPageNum(), vvShoppingCartRequest.getPageSize()) + .doSelect(new ISelect() { + @Override + public List doSelect(IPage page) { + return vvShoppingCartDao.selectByCondition(page, + vvShoppingCartRequest.getProductName(), + vvShoppingCartRequest.getBuyerPhone(), + vvShoppingCartRequest.getBuyerName(), + vvShoppingCartRequest.getBuyerWeixin() + ); + } + }); + return R.ok().setData(pageUtils); + } +}