From 2cc9d6707e5c92a6234887051255d6c86bca7e7e Mon Sep 17 00:00:00 2001 From: quyixiao <2621048238@qq.com> Date: Sat, 23 Aug 2025 14:36:56 +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 --- .../api/data/dao/vv/VvBuyerAddressDao.java | 5 + .../heyu/api/data/dao/vv/VvTradeOrderDao.java | 7 +- .../data/entity/vv/VvBuyerAddressEntity.java | 19 +++ .../data/entity/vv/VvShoppingCartEntity.java | 38 +++++ .../data/entity/vv/VvTradeOrderEntity.java | 127 ++++++++++++++-- .../entity/vv/VvTradeOrderLineEntity.java | 38 +++++ .../java/com/test/xxx/MysqlMain_update.java | 2 +- .../alibaba/request/mm/OrderStatusEnums.java | 41 +++++ .../mm/order/resp/PropertyNameValue.java | 12 ++ .../mm/order/resp/VvTradeOrderDTO.java | 19 +++ .../mm/order/resp/VvTradeOrderDeleteDTO.java | 18 +++ .../mm/order/resp/VvTradeOrderLineDTO.java | 15 ++ .../request/vv/AppBuyerAddressRequest.java | 21 +++ .../vv/AppBuyerAddressManagerController.java | 70 +++++++++ .../api/controller/vv/AppOrderController.java | 140 ++++++++++++++++-- .../vv/AppShoppingCartController.java | 35 ++++- 16 files changed, 572 insertions(+), 35 deletions(-) create mode 100644 api-third/src/main/java/com/heyu/api/alibaba/request/mm/OrderStatusEnums.java create mode 100644 api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/PropertyNameValue.java create mode 100644 api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VvTradeOrderDTO.java create mode 100644 api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VvTradeOrderDeleteDTO.java create mode 100644 api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VvTradeOrderLineDTO.java create mode 100644 api-third/src/main/java/com/heyu/api/alibaba/request/vv/AppBuyerAddressRequest.java create mode 100644 api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppBuyerAddressManagerController.java diff --git a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvBuyerAddressDao.java b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvBuyerAddressDao.java index 09fe900..abcf02e 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvBuyerAddressDao.java +++ b/api-mapper/src/main/java/com/heyu/api/data/dao/vv/VvBuyerAddressDao.java @@ -7,10 +7,14 @@ package com.heyu.api.data.dao.vv; * @author quyixiao * @since 2025-08-23 */ +import com.baomidou.mybatisplus.core.metadata.IPage; import com.heyu.api.data.entity.vv.VvBuyerAddressEntity; 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 VvBuyerAddressDao extends BaseMapper { @@ -33,4 +37,5 @@ public interface VvBuyerAddressDao extends BaseMapper { int deleteVvBuyerAddressById(@Param("id")Long id); + List selectAppByCondition(IPage page, Long buyerId); } \ 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 3a7981a..d568d7f 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 @@ -54,13 +54,16 @@ public interface VvTradeOrderDao extends BaseMapper { @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 @NE @Column(VvTradeOrderEntity.status_) String deleteStatus, @IF String createTimestampSort); + + + + void updateByBuerIdAndIds(String status,@By Long buyerId,@By List ids); } \ No newline at end of file diff --git a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvBuyerAddressEntity.java b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvBuyerAddressEntity.java index 555e24d..79083c3 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvBuyerAddressEntity.java +++ b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvBuyerAddressEntity.java @@ -34,6 +34,7 @@ private static final long serialVersionUID = 1L; public final static String buyer_id = CLASS_NAME + "buyer_id"; // 买家id public final static String buyer_weixin = CLASS_NAME + "buyer_weixin"; // 买家微信 public final static String buyer_phone = CLASS_NAME + "buyer_phone"; // 买家手机号 + public final static String status_ = CLASS_NAME + "status"; // 地址状态 ,delete 已经删除,default 默认,common 普通 // @TableId(value = "id", type = IdType.AUTO) private Long id; @@ -61,6 +62,8 @@ private static final long serialVersionUID = 1L; private String buyerWeixin; //买家手机号 private String buyerPhone; + //地址状态 ,delete 已经删除,default 默认,common 普通 + private String status; /** * * @return @@ -256,6 +259,21 @@ private static final long serialVersionUID = 1L; this.buyerPhone = buyerPhone; } + /** + * 地址状态 ,delete 已经删除,default 默认,common 普通 + * @return + */ + public String getStatus() { + return status; + } + /** + * 地址状态 ,delete 已经删除,default 默认,common 普通 + * @param status + */ + public void setStatus(String status) { + this.status = status; + } + @Override public String toString() { return "VvBuyerAddressEntity{" + @@ -272,6 +290,7 @@ private static final long serialVersionUID = 1L; ",buyerId=" + buyerId + ",buyerWeixin=" + buyerWeixin + ",buyerPhone=" + buyerPhone + + ",status=" + status + "}"; } } \ 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 8408745..151b8d5 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 @@ -34,6 +34,8 @@ private static final long serialVersionUID = 1L; 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 + public final static String sku_id = CLASS_NAME + "sku_id"; // sku_id + public final static String product_id = CLASS_NAME + "product_id"; // 商品id // @TableId(value = "id", type = IdType.AUTO) private Long id; @@ -61,6 +63,10 @@ private static final long serialVersionUID = 1L; private BigDecimal allPrice; //买家id private Long buyerId; + //sku_id + private Long skuId; + //商品id + private Long productId; /** * * @return @@ -256,6 +262,36 @@ private static final long serialVersionUID = 1L; this.buyerId = buyerId; } + /** + * sku_id + * @return + */ + public Long getSkuId() { + return skuId; + } + /** + * sku_id + * @param skuId + */ + public void setSkuId(Long skuId) { + this.skuId = skuId; + } + + /** + * 商品id + * @return + */ + public Long getProductId() { + return productId; + } + /** + * 商品id + * @param productId + */ + public void setProductId(Long productId) { + this.productId = productId; + } + @Override public String toString() { return "VvShoppingCartEntity{" + @@ -272,6 +308,8 @@ private static final long serialVersionUID = 1L; ",buyerWeixin=" + buyerWeixin + ",allPrice=" + allPrice + ",buyerId=" + buyerId + + ",skuId=" + skuId + + ",productId=" + productId + "}"; } } \ No newline at end of file diff --git a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvTradeOrderEntity.java b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvTradeOrderEntity.java index 79f634c..8f2f1b7 100644 --- a/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvTradeOrderEntity.java +++ b/api-mapper/src/main/java/com/heyu/api/data/entity/vv/VvTradeOrderEntity.java @@ -21,22 +21,27 @@ private static final long serialVersionUID = 1L; public final static String CLASS_NAME ="com.heyu.api.data.entity.vv.VvTradeOrderEntity:"; 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 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 buyer_address = CLASS_NAME + "buyer_address"; // 买家收货地址 - public final static String all_price = CLASS_NAME + "all_price"; // 总价 - public final static String status_ = CLASS_NAME + "status"; // wait_pay:待支付,待发货:wait_shipping, 已经发货: shipping , 已接收,delivered, all_refund:全部退款,part_refund,部分退款 - public final static String refund_amount = CLASS_NAME + "refund_amount"; // 退款金额 - public final static String refund_count = CLASS_NAME + "refund_count"; // 退货数量 - public final static String buyer_id = CLASS_NAME + "buyer_id"; // 买家id - public final static String create_timestamp = CLASS_NAME + "create_timestamp"; // 创建时间撮 - public final static String modify_timestamp = CLASS_NAME + "modify_timestamp"; // 修改时间撮 + 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 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 buyer_address = CLASS_NAME + "buyer_address"; // 买家收货地址 + public final static String all_price = CLASS_NAME + "all_price"; // 总价 + public final static String status_ = CLASS_NAME + "status"; // wait_pay:待支付,待发货:wait_shipping, 已经发货: shipping , 已接收,delivered, all_refund:全部退款,part_refund,部分退款 + public final static String refund_amount = CLASS_NAME + "refund_amount"; // 退款金额 + public final static String refund_count = CLASS_NAME + "refund_count"; // 退货数量 + public final static String buyer_id = CLASS_NAME + "buyer_id"; // 买家id + public final static String create_timestamp = CLASS_NAME + "create_timestamp"; // 创建时间撮 + public final static String modify_timestamp = CLASS_NAME + "modify_timestamp"; // 修改时间撮 + public final static String contry_ = CLASS_NAME + "contry"; // 国家 + public final static String province_ = CLASS_NAME + "province"; // 省 + public final static String city_ = CLASS_NAME + "city"; // 市 + public final static String district_ = CLASS_NAME + "district"; // 区 + public final static String buyer_detail_address = CLASS_NAME + "buyer_detail_address"; // 买家详细地址 // @TableId(value = "id", type = IdType.AUTO) private Long id; @@ -70,6 +75,16 @@ private static final long serialVersionUID = 1L; private Long createTimestamp; //修改时间撮 private Long modifyTimestamp; + //国家 + private String contry; + //省 + private String province; + //市 + private String city; + //区 + private String district; + //买家详细地址 + private String buyerDetailAddress; /** * * @return @@ -310,6 +325,81 @@ private static final long serialVersionUID = 1L; this.modifyTimestamp = modifyTimestamp; } + /** + * 国家 + * @return + */ + public String getContry() { + return contry; + } + /** + * 国家 + * @param contry + */ + public void setContry(String contry) { + this.contry = contry; + } + + /** + * 省 + * @return + */ + public String getProvince() { + return province; + } + /** + * 省 + * @param province + */ + public void setProvince(String province) { + this.province = province; + } + + /** + * 市 + * @return + */ + public String getCity() { + return city; + } + /** + * 市 + * @param city + */ + public void setCity(String city) { + this.city = city; + } + + /** + * 区 + * @return + */ + public String getDistrict() { + return district; + } + /** + * 区 + * @param district + */ + public void setDistrict(String district) { + this.district = district; + } + + /** + * 买家详细地址 + * @return + */ + public String getBuyerDetailAddress() { + return buyerDetailAddress; + } + /** + * 买家详细地址 + * @param buyerDetailAddress + */ + public void setBuyerDetailAddress(String buyerDetailAddress) { + this.buyerDetailAddress = buyerDetailAddress; + } + @Override public String toString() { return "VvTradeOrderEntity{" + @@ -329,6 +419,11 @@ private static final long serialVersionUID = 1L; ",buyerId=" + buyerId + ",createTimestamp=" + createTimestamp + ",modifyTimestamp=" + modifyTimestamp + + ",contry=" + contry + + ",province=" + province + + ",city=" + city + + ",district=" + district + + ",buyerDetailAddress=" + buyerDetailAddress + "}"; } } \ No newline at end of file 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 8bcdfec..2294c54 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 @@ -37,6 +37,8 @@ private static final long serialVersionUID = 1L; public final static String product_name = CLASS_NAME + "product_name"; // 商品名称 public final static String sku_info = CLASS_NAME + "sku_info"; // sku信息json public final static String product_main_image_url = CLASS_NAME + "product_main_image_url"; // 商品主图 + public final static String sku_id = CLASS_NAME + "sku_id"; // skuid + public final static String sku_image_url = CLASS_NAME + "sku_image_url"; // sku图片 // @TableId(value = "id", type = IdType.AUTO) private Long id; @@ -70,6 +72,10 @@ private static final long serialVersionUID = 1L; private String skuInfo; //商品主图 private String productMainImageUrl; + //skuid + private Long skuId; + //sku图片 + private String skuImageUrl; /** * * @return @@ -310,6 +316,36 @@ private static final long serialVersionUID = 1L; this.productMainImageUrl = productMainImageUrl; } + /** + * skuid + * @return + */ + public Long getSkuId() { + return skuId; + } + /** + * skuid + * @param skuId + */ + public void setSkuId(Long skuId) { + this.skuId = skuId; + } + + /** + * sku图片 + * @return + */ + public String getSkuImageUrl() { + return skuImageUrl; + } + /** + * sku图片 + * @param skuImageUrl + */ + public void setSkuImageUrl(String skuImageUrl) { + this.skuImageUrl = skuImageUrl; + } + @Override public String toString() { return "VvTradeOrderLineEntity{" + @@ -329,6 +365,8 @@ private static final long serialVersionUID = 1L; ",productName=" + productName + ",skuInfo=" + skuInfo + ",productMainImageUrl=" + productMainImageUrl + + ",skuId=" + skuId + + ",skuImageUrl=" + skuImageUrl + "}"; } } \ No newline at end of file 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 81cdf0d..156f1d6 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_shopping_cart"; + String a = "vv_buyer_address"; for (String s : a.split(",")) { list.add(new TablesBean(s)); } diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/OrderStatusEnums.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/OrderStatusEnums.java new file mode 100644 index 0000000..b34f867 --- /dev/null +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/OrderStatusEnums.java @@ -0,0 +1,41 @@ +package com.heyu.api.alibaba.request.mm; + +public enum OrderStatusEnums { + + + wait_pay("wait_pay","待支付"), + wait_shipping("wait_shipping","待发货"), + shipping("shipping","已发货"), + delivered("delivered","已签收"), + all_refund("all_refund","全部退款"), + part_refund("part_refund","部分退款"), + delete("delete","删除"), + ; + + + OrderStatusEnums(String status, String desc) { + this.status = status; + this.desc = desc; + } + + private String status; + + private String desc; + + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public String getDesc() { + return desc; + } + + public void setDesc(String desc) { + this.desc = desc; + } +} diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/PropertyNameValue.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/PropertyNameValue.java new file mode 100644 index 0000000..395d398 --- /dev/null +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/PropertyNameValue.java @@ -0,0 +1,12 @@ +package com.heyu.api.alibaba.request.mm.order.resp; + + +import lombok.Data; + +@Data +public class PropertyNameValue { + + private String propertyName; + + private String propertyValue; +} diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VvTradeOrderDTO.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VvTradeOrderDTO.java new file mode 100644 index 0000000..3d39ccb --- /dev/null +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VvTradeOrderDTO.java @@ -0,0 +1,19 @@ +package com.heyu.api.alibaba.request.mm.order.resp; + + +import lombok.Data; + +import java.util.List; + +@Data +public class VvTradeOrderDTO { + + + private Long buyerId; + + private List vvTradeOrderLineDTOList; + + + private Long buyerAddressId; + +} diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VvTradeOrderDeleteDTO.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VvTradeOrderDeleteDTO.java new file mode 100644 index 0000000..2cf15ef --- /dev/null +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VvTradeOrderDeleteDTO.java @@ -0,0 +1,18 @@ +package com.heyu.api.alibaba.request.mm.order.resp; + + +import lombok.Data; + +import java.util.List; + +@Data +public class VvTradeOrderDeleteDTO { + + + private List ids ; + + + + private Long buyerId ; + +} diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VvTradeOrderLineDTO.java b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VvTradeOrderLineDTO.java new file mode 100644 index 0000000..71e23c5 --- /dev/null +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/mm/order/resp/VvTradeOrderLineDTO.java @@ -0,0 +1,15 @@ +package com.heyu.api.alibaba.request.mm.order.resp; + + +import lombok.Data; + +@Data +public class VvTradeOrderLineDTO { + + //数量 + private Integer num; + + // sku id + private Long skuId; + +} diff --git a/api-third/src/main/java/com/heyu/api/alibaba/request/vv/AppBuyerAddressRequest.java b/api-third/src/main/java/com/heyu/api/alibaba/request/vv/AppBuyerAddressRequest.java new file mode 100644 index 0000000..f256096 --- /dev/null +++ b/api-third/src/main/java/com/heyu/api/alibaba/request/vv/AppBuyerAddressRequest.java @@ -0,0 +1,21 @@ +package com.heyu.api.alibaba.request.vv; + + +import lombok.Data; + +@Data +public class AppBuyerAddressRequest { + + + private int pageNum = 1; + + + private int pageSize = 10; + + + /*** + * 买家id + */ + private Long buyerId; + +} diff --git a/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppBuyerAddressManagerController.java b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppBuyerAddressManagerController.java new file mode 100644 index 0000000..5edfeab --- /dev/null +++ b/api-web/api-interface/src/main/java/com/heyu/api/controller/vv/AppBuyerAddressManagerController.java @@ -0,0 +1,70 @@ +package com.heyu.api.controller.vv; + + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.heyu.api.alibaba.request.vv.AppBuyerAddressRequest; +import com.heyu.api.data.dao.vv.VvBuyerAddressDao; +import com.heyu.api.data.dao.vv.VvBuyerDao; +import com.heyu.api.data.entity.vv.VvBuyerAddressEntity; +import com.heyu.api.data.entity.vv.VvBuyerEntity; +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/buyer/address") +public class AppBuyerAddressManagerController { + + + @Autowired + private VvBuyerAddressDao vvBuyerAddressDao; + + @Autowired + private VvBuyerDao vvBuyerDao; + + /*** + * 列表 + */ + @RequestMapping("/list") + public R list(AppBuyerAddressRequest appBuyerAddressRequest) { + + + PPageUtils pageUtils = PPageUtils.startPage(appBuyerAddressRequest.getPageNum(), appBuyerAddressRequest.getPageSize()) + .doSelect(new ISelect() { + @Override + public List doSelect(IPage page) { + return vvBuyerAddressDao.selectAppByCondition(page, + appBuyerAddressRequest.getBuyerId() + ); + } + }); + + + return R.ok().setData(pageUtils); + } + + + @RequestMapping("/update") + public R list(VvBuyerAddressEntity vvBuyerAddressEntity) { + + + VvBuyerEntity vvBuyerEntity = vvBuyerDao.selectVvBuyerById(vvBuyerAddressEntity.getBuyerId()); + + vvBuyerAddressEntity.setBuyerName(vvBuyerEntity.getBuyerName()); + vvBuyerAddressEntity.setBuyerPhone(vvBuyerEntity.getBuyerPhone()); + vvBuyerAddressEntity.setBuyerWeixin(vvBuyerEntity.getBuyerWeixin()); + vvBuyerAddressDao.insertOrUpdateVvBuyerAddress(vvBuyerAddressEntity); + + return R.ok(); + } + + +} 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 index 03726b7..cc8a72e 100644 --- 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 @@ -1,16 +1,14 @@ package com.heyu.api.controller.vv; +import com.alibaba.fastjson.JSON; 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.mm.OrderStatusEnums; +import com.heyu.api.alibaba.request.mm.order.resp.*; 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.dao.vv.*; +import com.heyu.api.data.entity.vv.*; +import com.heyu.api.data.utils.BigDecimalUtil; import com.heyu.api.data.utils.R; import com.heyu.api.data.utils.StringUtils; import com.heyu.api.utils.ISelect; @@ -19,13 +17,12 @@ 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.RequestBody; 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; +import java.math.BigDecimal; +import java.util.*; @Slf4j @@ -45,12 +42,30 @@ public class AppOrderController { @Autowired private VvPackageDao vvPackageDao; + @Autowired + private VvSkuDao vvSkuDao; + + + @Autowired + private VvProductDao vvProductDao; + + + @Autowired + private VvSkuPropertyValueDao vvSkuPropertyValueDao; + + + @Autowired + private VvBuyerDao vvBuyerDao; + + @Autowired + private VvBuyerAddressDao vvBuyerAddressDao; + + /*** * 列表 */ @RequestMapping("/list") - public R list(AppOrderRequest vvOrderRequest) { - + public R list(@RequestBody AppOrderRequest vvOrderRequest) { if (StringUtils.isNotBlank(vvOrderRequest.getProductName())) { List list = vvTradeOrderLineDao.selectVvTradeOrderLineByProductName(vvOrderRequest.getProductName()); List orderIds = new ArrayList<>(); @@ -72,6 +87,7 @@ public class AppOrderController { vvOrderRequest.getStatus(), vvOrderRequest.getMinCreateTimestamp(), vvOrderRequest.getMaxCreateTimestamp(), + OrderStatusEnums.delete.getStatus(), vvOrderRequest.getCreateTimestampSort() ); } @@ -163,4 +179,100 @@ public class AppOrderController { } + /*** + * 列表 + */ + @RequestMapping("/add") + public R add(@RequestBody VvTradeOrderDTO vvOrderRequest) { + List vvTradeOrderLineEntityList = new ArrayList<>(); + + BigDecimal allPrice = BigDecimal.ZERO; + int allNum = 0; + + for (VvTradeOrderLineDTO vvTradeOrderLineDTO : vvOrderRequest.getVvTradeOrderLineDTOList()) { + VvTradeOrderLineEntity vvTradeOrderLineEntity = new VvTradeOrderLineEntity(); + + vvTradeOrderLineEntity.setSkuId(vvTradeOrderLineDTO.getSkuId()); + vvTradeOrderLineEntity.setNum(vvTradeOrderLineDTO.getNum()); + + + vvTradeOrderLineEntity.setCreateTime(new Date()); + vvTradeOrderLineEntity.setModifyTime(new Date()); + allNum = vvTradeOrderLineEntity.getNum(); + + VvSkuEntity vvSkuEntity = vvSkuDao.selectVvSkuById(vvTradeOrderLineDTO.getSkuId()); + + vvTradeOrderLineEntity.setSinglePrice(vvSkuEntity.getSalePrice()); + vvTradeOrderLineEntity.setSkuImageUrl(vvSkuEntity.getImageUrl()); + + BigDecimal tradeOrderLineAllPrice = BigDecimalUtil.multiply(vvSkuEntity.getSalePrice(), new BigDecimal(vvTradeOrderLineDTO.getNum())); + + vvTradeOrderLineEntity.setAllPrice(tradeOrderLineAllPrice); + + allPrice = BigDecimalUtil.add(tradeOrderLineAllPrice, allPrice); + + vvTradeOrderLineEntity.setStatus(OrderStatusEnums.wait_pay.getStatus()); + + + vvTradeOrderLineEntity.setProductId(vvSkuEntity.getProductId()); + + + VvProductEntity vvProduct = vvProductDao.selectVvProductById(vvSkuEntity.getProductId()); + vvTradeOrderLineEntity.setProductMainImageUrl(vvProduct.getMainImageUrl()); + + List vvSkuPropertyValueEntities = vvSkuPropertyValueDao.selectVvSkuPropertyValueBySkuId(vvTradeOrderLineDTO.getSkuId()); + + List propertyNameValues = new ArrayList<>(); + for (VvSkuPropertyValueEntity vvSkuPropertyValueEntity : vvSkuPropertyValueEntities) { + + PropertyNameValue propertyNameValue = new PropertyNameValue(); + propertyNameValue.setPropertyName(vvSkuPropertyValueEntity.getPropertyName()); + propertyNameValue.setPropertyValue(vvSkuPropertyValueEntity.getPropertyValue()); + propertyNameValues.add(propertyNameValue); + } + + vvTradeOrderLineEntity.setSkuInfo(JSON.toJSONString(propertyNameValues)); + vvTradeOrderLineEntityList.add(vvTradeOrderLineEntity); + } + + VvTradeOrderEntity vvTradeOrderEntity = new VvTradeOrderEntity(); + + VvBuyerEntity vvBuyerEntity = vvBuyerDao.selectVvBuyerById(vvTradeOrderEntity.getBuyerId()); + //创建时间 + vvTradeOrderEntity.setCreateTime(new Date()); + vvTradeOrderEntity.setModifyTime(new Date()); + vvTradeOrderEntity.setNum(allNum); + vvTradeOrderEntity.setBuyerPhone(vvBuyerEntity.getBuyerPhone()); + vvTradeOrderEntity.setBuyerName(vvBuyerEntity.getBuyerName()); + vvTradeOrderEntity.setBuyerWeixin(vvBuyerEntity.getBuyerWeixin()); + + VvBuyerAddressEntity vvBuyerAddress = vvBuyerAddressDao.selectVvBuyerAddressById(vvOrderRequest.getBuyerAddressId()); + + + vvTradeOrderEntity.setContry(vvBuyerAddress.getContry()); + vvTradeOrderEntity.setProvince(vvBuyerAddress.getProvince()); + vvTradeOrderEntity.setCity(vvBuyerAddress.getCity()); + vvTradeOrderEntity.setDistrict(vvBuyerAddress.getDistrict()); + vvTradeOrderEntity.setBuyerDetailAddress(vvBuyerAddress.getDetail()); + vvTradeOrderEntity.setAllPrice(allPrice); + vvTradeOrderEntity.setStatus(OrderStatusEnums.wait_pay.getStatus()); + vvTradeOrderEntity.setBuyerId(vvOrderRequest.getBuyerId()); + vvTradeOrderEntity.setCreateTimestamp(System.currentTimeMillis()); + vvTradeOrderEntity.setModifyTimestamp(System.currentTimeMillis()); + vvTradeOrderDao.insertVvTradeOrder(vvTradeOrderEntity); + + for (VvTradeOrderLineEntity tradeOrderLineEntity : vvTradeOrderLineEntityList) { + + tradeOrderLineEntity.setTradeOrderId(vvTradeOrderEntity.getId()); + + vvTradeOrderLineDao.insertOrUpdateVvTradeOrderLine(tradeOrderLineEntity); + } + return R.ok(); + } + + @RequestMapping("/delete") + public R add(@RequestBody VvTradeOrderDeleteDTO vvOrderRequest) { + vvTradeOrderDao.updateByBuerIdAndIds(OrderStatusEnums.delete.getStatus(),vvOrderRequest.getBuyerId(), vvOrderRequest.getIds()); + return R.ok(); + } } 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 index 74767da..fe4885b 100644 --- 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 @@ -1,13 +1,19 @@ package com.heyu.api.controller.vv; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.heyu.api.alibaba.request.mm.order.resp.PropertyNameValue; 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.VvProductDao; import com.heyu.api.data.dao.vv.VvShoppingCartDao; +import com.heyu.api.data.dao.vv.VvSkuPropertyValueDao; import com.heyu.api.data.entity.vv.VvBuyerEntity; +import com.heyu.api.data.entity.vv.VvProductEntity; import com.heyu.api.data.entity.vv.VvShoppingCartEntity; +import com.heyu.api.data.entity.vv.VvSkuPropertyValueEntity; import com.heyu.api.data.utils.R; import com.heyu.api.utils.ISelect; import com.heyu.api.utils.PPageUtils; @@ -16,6 +22,7 @@ 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.List; @@ -31,6 +38,13 @@ public class AppShoppingCartController { @Autowired private VvBuyerDao vvBuyerDao; + @Autowired + private VvProductDao vvProductDao; + + + @Autowired + private VvSkuPropertyValueDao vvSkuPropertyValueDao; + /*** * 列表 */ @@ -59,11 +73,28 @@ public class AppShoppingCartController { vvShoppingCartEntity.setBuyerName(vvBuyerEntity.getBuyerName()); vvShoppingCartEntity.setBuyerPhone(vvBuyerEntity.getBuyerPhone()); vvShoppingCartEntity.setBuyerWeixin(vvBuyerEntity.getBuyerWeixin()); + + + VvProductEntity vvProduct = vvProductDao.selectVvProductById(vvShoppingCartEntity.getProductId()); + vvShoppingCartEntity.setProductName(vvProduct.getTitle()); + + List vvSkuPropertyValueEntities = vvSkuPropertyValueDao.selectVvSkuPropertyValueBySkuId(vvShoppingCartEntity.getSkuId()); + + List propertyNameValues = new ArrayList<>(); + for (VvSkuPropertyValueEntity vvSkuPropertyValueEntity : vvSkuPropertyValueEntities) { + + PropertyNameValue propertyNameValue = new PropertyNameValue(); + propertyNameValue.setPropertyName(vvSkuPropertyValueEntity.getPropertyName()); + propertyNameValue.setPropertyValue(vvSkuPropertyValueEntity.getPropertyValue()); + propertyNameValues.add(propertyNameValue); + } + + vvShoppingCartEntity.setSkuInfo(JSON.toJSONString(propertyNameValues)); + vvShoppingCartDao.insertOrUpdateVvShoppingCart(vvShoppingCartEntity); + return R.ok(); } - - /*** * 列表 */