From 439032e44da5b293428190c3e2a45015348a7e2c Mon Sep 17 00:00:00 2001 From: quyixiao <2621048238@qq.com> Date: Sat, 23 Aug 2025 13:45:16 +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 --- .../com/heyu/api/data/dao/vv/VvBuyerDao.java | 36 ++++ .../api/data/dao/vv/VvShoppingCartDao.java | 12 ++ .../heyu/api/data/dao/vv/VvTradeOrderDao.java | 11 ++ .../api/data/entity/vv/VvBuyerEntity.java | 163 +++++++++++++++++ .../data/entity/vv/VvShoppingCartEntity.java | 19 ++ .../service/impl/vv/VvBuyerServiceImpl.java | 68 +++++++ .../api/data/service/vv/VvBuyerService.java | 34 ++++ .../main/resources/mapper/vv/VvBuyerDao.xml | 6 + .../java/com/test/xxx/MysqlMain_insert.java | 7 +- .../request/vv/AppIndexPageRequest.java | 4 +- .../alibaba/request/vv/AppOrderRequest.java | 41 +++++ .../vv/AppShippingCartDeleteRequest.java | 18 ++ .../request/vv/AppShippingCartRequest.java | 25 +++ ...oller.java => AppIndexPageController.java} | 8 +- .../api/controller/vv/AppOrderController.java | 166 ++++++++++++++++++ .../vv/AppShoppingCartController.java | 77 ++++++++ 16 files changed, 682 insertions(+), 13 deletions(-) create mode 100644 api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvBuyerDao.java create mode 100644 api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvBuyerEntity.java create mode 100644 api-mapper/src/main/java/com/heyu/api/data/service/impl/vv/VvBuyerServiceImpl.java create mode 100644 api-mapper/src/main/java/com/heyu/api/data/service/vv/VvBuyerService.java create mode 100644 api-mapper/src/main/resources/mapper/vv/VvBuyerDao.xml create mode 100644 api-third/src/main/java/com/heyu/api/alibaba/request/vv/AppOrderRequest.java create mode 100644 api-third/src/main/java/com/heyu/api/alibaba/request/vv/AppShippingCartDeleteRequest.java create mode 100644 api-third/src/main/java/com/heyu/api/alibaba/request/vv/AppShippingCartRequest.java rename api-web/api-interface/src/main/java/com/heyu/api/controller/vv/{VVIndexPageController.java => AppIndexPageController.java} (97%) create mode 100644 api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppOrderController.java create mode 100644 api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppShoppingCartController.java diff --git a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvBuyerDao.java b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvBuyerDao.java new file mode 100644 index 0000000..cd38aba --- /dev/null +++ b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvBuyerDao.java @@ -0,0 +1,36 @@ +package com.heyu.api.data.dao.vv; +/** +*

+* 买家信息 服务类 +*

+* +* @author quyixiao +* @since 2025-08-23 +*/ +import com.heyu.api.data.entity.vv.VvBuyerEntity; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +@Mapper +public interface VvBuyerDao extends BaseMapper { + + + VvBuyerEntity selectVvBuyerById(@Param("id")Long id); + + + Long insertVvBuyer(VvBuyerEntity vvBuyer); + + + Long insertOrUpdateVvBuyer(VvBuyerEntity vvBuyer); + + + int updateVvBuyerById(VvBuyerEntity vvBuyer); + + + int updateCoverVvBuyerById(VvBuyerEntity vvBuyer); + + + int deleteVvBuyerById(@Param("id")Long id); + + +} \ 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 8ace187..7f181ce 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 @@ -12,6 +12,7 @@ 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.IN; import com.lz.mybatis.plugin.annotations.LIKE; import com.lz.mybatis.plugin.annotations.OrderBy; import org.apache.ibatis.annotations.Mapper; @@ -47,4 +48,15 @@ public interface VvShoppingCartDao extends BaseMapper { @IF @LIKE String buyerPhone, @IF @LIKE String buyerName, @IF @LIKE String buyerWeixin); + + + + List selectAppByCondition(IPage page, + @IF String productName, + Long buyerId + ); + + + + Integer deleteVvShoppingCartByIds(@IN List id); } \ 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 9d934e9..3a7981a 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 @@ -52,4 +52,15 @@ public interface VvTradeOrderDao extends BaseMapper { @IF @GE Long minCreateTimestamp, @IF @LE Long maxCreateTimestamp, @OrderBy(VvTradeOrderEntity.create_timestamp) String createTimestampSort); + + + + + @OrderBy(VvTradeOrderEntity.id_) + List selectAppByCondition(IPage page, + @IF@IN List orderIds, + @IF String status, + @IF @GE Long minCreateTimestamp, + @IF@LE Long maxCreateTimestamp, + @IF String createTimestampSort); } \ No newline at end of file diff --git a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvBuyerEntity.java b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvBuyerEntity.java new file mode 100644 index 0000000..0784c3b --- /dev/null +++ b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvBuyerEntity.java @@ -0,0 +1,163 @@ +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; +/** +*买家信息 +* @author quyixiao +* @since 2025-08-23 +*/ + +@Data +@TableName("vv_buyer") +public class VvBuyerEntity implements java.io.Serializable { +private static final long serialVersionUID = 1L; + + public final static String CLASS_NAME ="com.heyu.api.data.entity.vv.VvBuyerEntity:"; + + 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 buyer_name = CLASS_NAME + "buyer_name"; // 买家名称 + public final static String buyer_weixin = CLASS_NAME + "buyer_weixin"; // 买家微信 + public final static String buyer_phone = CLASS_NAME + "buyer_phone"; // 买家手机号 + // + @TableId(value = "id", type = IdType.AUTO) + private Long id; + //是否删除:0 否 1 删除 + private Integer isDelete; + //创建时间 + private Date createTime; + //修改时间 + private Date modifyTime; + //买家名称 + private String buyerName; + //买家微信 + private String buyerWeixin; + //买家手机号 + private String buyerPhone; + /** + * + * @return + */ + public Long getId() { + return id; + } + /** + * + * @param id + */ + public void setId(Long id) { + this.id = id; + } + + /** + * 是否删除:0 否 1 删除 + * @return + */ + public Integer getIsDelete() { + return isDelete; + } + /** + * 是否删除:0 否 1 删除 + * @param isDelete + */ + public void setIsDelete(Integer isDelete) { + this.isDelete = isDelete; + } + + /** + * 创建时间 + * @return + */ + public Date getCreateTime() { + return createTime; + } + /** + * 创建时间 + * @param createTime + */ + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + /** + * 修改时间 + * @return + */ + public Date getModifyTime() { + return modifyTime; + } + /** + * 修改时间 + * @param modifyTime + */ + public void setModifyTime(Date modifyTime) { + this.modifyTime = modifyTime; + } + + /** + * 买家名称 + * @return + */ + public String getBuyerName() { + return buyerName; + } + /** + * 买家名称 + * @param buyerName + */ + public void setBuyerName(String buyerName) { + this.buyerName = buyerName; + } + + /** + * 买家微信 + * @return + */ + public String getBuyerWeixin() { + return buyerWeixin; + } + /** + * 买家微信 + * @param buyerWeixin + */ + public void setBuyerWeixin(String buyerWeixin) { + this.buyerWeixin = buyerWeixin; + } + + /** + * 买家手机号 + * @return + */ + public String getBuyerPhone() { + return buyerPhone; + } + /** + * 买家手机号 + * @param buyerPhone + */ + public void setBuyerPhone(String buyerPhone) { + this.buyerPhone = buyerPhone; + } + + @Override + public String toString() { + return "VvBuyerEntity{" + + ",id=" + id + + ",isDelete=" + isDelete + + ",createTime=" + createTime + + ",modifyTime=" + modifyTime + + ",buyerName=" + buyerName + + ",buyerWeixin=" + buyerWeixin + + ",buyerPhone=" + buyerPhone + + "}"; + } +} \ No newline at end of file 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 6af6653..8408745 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 @@ -33,6 +33,7 @@ private static final long serialVersionUID = 1L; 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 buyer_id = CLASS_NAME + "buyer_id"; // 买家id // @TableId(value = "id", type = IdType.AUTO) private Long id; @@ -58,6 +59,8 @@ private static final long serialVersionUID = 1L; private String buyerWeixin; //总价 private BigDecimal allPrice; + //买家id + private Long buyerId; /** * * @return @@ -238,6 +241,21 @@ private static final long serialVersionUID = 1L; this.allPrice = allPrice; } + /** + * 买家id + * @return + */ + public Long getBuyerId() { + return buyerId; + } + /** + * 买家id + * @param buyerId + */ + public void setBuyerId(Long buyerId) { + this.buyerId = buyerId; + } + @Override public String toString() { return "VvShoppingCartEntity{" + @@ -253,6 +271,7 @@ private static final long serialVersionUID = 1L; ",buyerName=" + buyerName + ",buyerWeixin=" + buyerWeixin + ",allPrice=" + allPrice + + ",buyerId=" + buyerId + "}"; } } \ No newline at end of file diff --git a/api-mapper/src/main/java/com/heyu/api/data/service/impl/vv/VvBuyerServiceImpl.java b/api-mapper/src/main/java/com/heyu/api/data/service/impl/vv/VvBuyerServiceImpl.java new file mode 100644 index 0000000..337d28d --- /dev/null +++ b/api-mapper/src/main/java/com/heyu/api/data/service/impl/vv/VvBuyerServiceImpl.java @@ -0,0 +1,68 @@ +package com.heyu.api.data.service.impl.vv; +/** +*

+* 买家信息 服务类 +*

+* +* @author quyixiao +* @since 2025-08-23 +*/ + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.heyu.api.data.dao.vv.VvBuyerDao; +import com.heyu.api.data.entity.vv.VvBuyerEntity; +import com.heyu.api.data.service.vv.VvBuyerService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +@Service +public class VvBuyerServiceImpl extends ServiceImpl implements VvBuyerService { + + + @Autowired + private VvBuyerDao vvBuyerDao; + + + + @Override + public VvBuyerEntity selectVvBuyerById(Long id){ + return vvBuyerDao.selectVvBuyerById(id); + } + + + + @Override + public Long insertVvBuyer(VvBuyerEntity vvBuyer){ + return vvBuyerDao.insertVvBuyer(vvBuyer); + } + + + + @Override + public Long insertOrUpdateVvBuyer(VvBuyerEntity vvBuyer){ + return vvBuyerDao.insertOrUpdateVvBuyer(vvBuyer); + } + + + + @Override + public int updateVvBuyerById(VvBuyerEntity vvBuyer){ + return vvBuyerDao.updateVvBuyerById(vvBuyer); + } + + + + @Override + public int updateCoverVvBuyerById(VvBuyerEntity vvBuyer){ + return vvBuyerDao.updateCoverVvBuyerById(vvBuyer); + } + + + + @Override + public int deleteVvBuyerById(Long id){ + return vvBuyerDao.deleteVvBuyerById(id); + } + + + +} diff --git a/api-mapper/src/main/java/com/heyu/api/data/service/vv/VvBuyerService.java b/api-mapper/src/main/java/com/heyu/api/data/service/vv/VvBuyerService.java new file mode 100644 index 0000000..c280356 --- /dev/null +++ b/api-mapper/src/main/java/com/heyu/api/data/service/vv/VvBuyerService.java @@ -0,0 +1,34 @@ +package com.heyu.api.data.service.vv; +/** +*

+* 买家信息 服务类 +*

+* +* @author quyixiao +* @since 2025-08-23 +*/ +import com.baomidou.mybatisplus.extension.service.IService; +import com.heyu.api.data.entity.vv.VvBuyerEntity; +public interface VvBuyerService extends IService { + + + + VvBuyerEntity selectVvBuyerById(Long id); + + + Long insertVvBuyer(VvBuyerEntity vvBuyer); + + + Long insertOrUpdateVvBuyer(VvBuyerEntity vvBuyer); + + + int updateVvBuyerById(VvBuyerEntity vvBuyer); + + + int updateCoverVvBuyerById(VvBuyerEntity vvBuyer); + + + int deleteVvBuyerById(Long id); + + +} \ No newline at end of file diff --git a/api-mapper/src/main/resources/mapper/vv/VvBuyerDao.xml b/api-mapper/src/main/resources/mapper/vv/VvBuyerDao.xml new file mode 100644 index 0000000..e261207 --- /dev/null +++ b/api-mapper/src/main/resources/mapper/vv/VvBuyerDao.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/api-mapper/src/test/java/com/test/xxx/MysqlMain_insert.java b/api-mapper/src/test/java/com/test/xxx/MysqlMain_insert.java index 67bb2da..1555439 100644 --- a/api-mapper/src/test/java/com/test/xxx/MysqlMain_insert.java +++ b/api-mapper/src/test/java/com/test/xxx/MysqlMain_insert.java @@ -94,11 +94,8 @@ public class MysqlMain_insert { List list = new ArrayList(); - list.add(new TablesBean("vv_package")); - list.add(new TablesBean("vv_trade_order")); - list.add(new TablesBean("vv_buyer_address")); - list.add(new TablesBean("vv_shopping_cart")); - list.add(new TablesBean("vv_trade_order_line")); + list.add(new TablesBean("vv_buyer")); + diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/vv/AppIndexPageRequest.java b/api-third/src/main/java/com/heyu/api/alibaba/request/vv/AppIndexPageRequest.java index d68a30d..990451f 100644 --- a/api-third/src/main/java/com/heyu/api/alibaba/request/vv/AppIndexPageRequest.java +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/vv/AppIndexPageRequest.java @@ -7,7 +7,6 @@ import lombok.Data; public class AppIndexPageRequest { - private int pageNum = 1; @@ -20,7 +19,6 @@ public class AppIndexPageRequest { private String productName; - //一级类目id private Integer categoryIdOne; //二级类目 @@ -31,7 +29,6 @@ public class AppIndexPageRequest { private Integer frontPage; - //销售价格 private String salePriceSort; @@ -43,4 +40,5 @@ public class AppIndexPageRequest { private String createTimestampSort; + } diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/vv/AppOrderRequest.java b/api-third/src/main/java/com/heyu/api/alibaba/request/vv/AppOrderRequest.java new file mode 100644 index 0000000..e6ecb1c --- /dev/null +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/vv/AppOrderRequest.java @@ -0,0 +1,41 @@ +package com.heyu.api.alibaba.request.vv; + + +import lombok.Data; + +import java.util.List; + +@Data +public class AppOrderRequest { + + private int pageNum = 1; + + + private int pageSize = 10; + + + private Long buyerId; + + private List orderIds; + + //商品名称 , 子单维度 + private String productName; + + + //创建时间撮,最大 + private Long minCreateTimestamp; + //创建时间撮 最小 + private Long maxCreateTimestamp; + + + /** + * 按时间排序 + */ + private String createTimestampSort; + + + //wait_pay:待支付,待发货:wait_shipping, 已经发货: shipping , 已接收,delivered, all_refund:全部退款,part_refund,部分退款 + private String status; + + +} diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/vv/AppShippingCartDeleteRequest.java b/api-third/src/main/java/com/heyu/api/alibaba/request/vv/AppShippingCartDeleteRequest.java new file mode 100644 index 0000000..4b8cf6f --- /dev/null +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/vv/AppShippingCartDeleteRequest.java @@ -0,0 +1,18 @@ +package com.heyu.api.alibaba.request.vv; + + +import lombok.Data; + +import java.util.List; + +@Data +public class AppShippingCartDeleteRequest { + + + /** + * + */ + private List shoppingCartIds; + + +} diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/vv/AppShippingCartRequest.java b/api-third/src/main/java/com/heyu/api/alibaba/request/vv/AppShippingCartRequest.java new file mode 100644 index 0000000..49598e6 --- /dev/null +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/vv/AppShippingCartRequest.java @@ -0,0 +1,25 @@ +package com.heyu.api.alibaba.request.vv; + + +import lombok.Data; + +@Data +public class AppShippingCartRequest { + + + private Integer pageNum; + + private Integer pageSize; + + + //商品标题 + private String productName; + + /*** + * 买家id + */ + private Long buyerId; + + + +} diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/VVIndexPageController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppIndexPageController.java similarity index 97% rename from api-web/api-interface/src/main/java/com/heyu/api/controller/vv/VVIndexPageController.java rename to api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppIndexPageController.java index bb66188..d13b1af 100644 --- a/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/VVIndexPageController.java +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppIndexPageController.java @@ -23,8 +23,8 @@ import java.util.List; @Slf4j @RestController -@RequestMapping("/app") -public class VVIndexPageController { +@RequestMapping("/app/index") +public class AppIndexPageController { @Autowired private VvProductDao vvProductDao; @@ -48,12 +48,10 @@ public class VVIndexPageController { @Autowired private VvProductPropertyValueDao vvProductPropertyValueDao; - - /*** * 列表 */ - @RequestMapping("/index/page/list") + @RequestMapping("/page/list") public R list(AppIndexPageRequest vvProductRequest) { PPageUtils pageUtils = PPageUtils.startPage(vvProductRequest.getPageNum(), vvProductRequest.getPageSize()) .doSelect(new ISelect() { diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppOrderController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppOrderController.java new file mode 100644 index 0000000..03726b7 --- /dev/null +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppOrderController.java @@ -0,0 +1,166 @@ +package com.heyu.api.controller.vv; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.heyu.api.alibaba.request.mm.order.resp.PackageDTO; +import com.heyu.api.alibaba.request.mm.order.resp.VVOrderListResp; +import com.heyu.api.alibaba.request.vv.AppOrderRequest; +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("/app/order") +public class AppOrderController { + + + @Autowired + private VvTradeOrderLineDao vvTradeOrderLineDao; + + + @Autowired + private VvTradeOrderDao vvTradeOrderDao; + + + @Autowired + private VvPackageDao vvPackageDao; + + /*** + * 列表 + */ + @RequestMapping("/list") + public R list(AppOrderRequest 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.selectAppByCondition(page, + vvOrderRequest.getOrderIds(), + 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); + + + 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/vv/AppShoppingCartController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppShoppingCartController.java new file mode 100644 index 0000000..74767da --- /dev/null +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppShoppingCartController.java @@ -0,0 +1,77 @@ +package com.heyu.api.controller.vv; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.heyu.api.alibaba.request.vv.AppShippingCartDeleteRequest; +import com.heyu.api.alibaba.request.vv.AppShippingCartRequest; +import com.heyu.api.data.dao.vv.VvBuyerDao; +import com.heyu.api.data.dao.vv.VvShoppingCartDao; +import com.heyu.api.data.entity.vv.VvBuyerEntity; +import com.heyu.api.data.entity.vv.VvShoppingCartEntity; +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("/app/shipping/cart") +public class AppShoppingCartController { + + + @Autowired + private VvShoppingCartDao vvShoppingCartDao; + + @Autowired + private VvBuyerDao vvBuyerDao; + + /*** + * 列表 + */ + @RequestMapping("/list") + public R list(AppShippingCartRequest appShippingCartRequest) { + PPageUtils pageUtils = PPageUtils.startPage(appShippingCartRequest.getPageNum(), appShippingCartRequest.getPageSize()) + .doSelect(new ISelect() { + @Override + public List doSelect(IPage page) { + return vvShoppingCartDao.selectAppByCondition(page, + appShippingCartRequest.getProductName(), + appShippingCartRequest.getBuyerId() + ); + } + }); + return R.ok().setData(pageUtils); + } + + + /*** + * 更新 或 添加 ,如数量更新 + */ + @RequestMapping("/addOrUpdate") + public R add(VvShoppingCartEntity vvShoppingCartEntity) { + VvBuyerEntity vvBuyerEntity = vvBuyerDao.selectVvBuyerById(vvShoppingCartEntity.getBuyerId()); + vvShoppingCartEntity.setBuyerName(vvBuyerEntity.getBuyerName()); + vvShoppingCartEntity.setBuyerPhone(vvBuyerEntity.getBuyerPhone()); + vvShoppingCartEntity.setBuyerWeixin(vvBuyerEntity.getBuyerWeixin()); + vvShoppingCartDao.insertOrUpdateVvShoppingCart(vvShoppingCartEntity); + return R.ok(); + } + + + /*** + * 列表 + */ + @RequestMapping("/delete") + public R delete(AppShippingCartDeleteRequest appShippingCartDeleteRequest) { + vvShoppingCartDao.deleteVvShoppingCartByIds(appShippingCartDeleteRequest.getShoppingCartIds()); + return R.ok(); + } + + +}