From 8ee7952a179c47b2933ff6ffd78f21fe3bda1b87 Mon Sep 17 00:00:00 2001 From: quyixiao <2621048238@qq.com> Date: Fri, 21 Nov 2025 13:37:28 +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 --- .../data/entity/vv/VvShoppingCartEntity.java | 93 +++++++++++++++---- .../java/com/test/xxx/MysqlMain_update.java | 2 +- .../vv/AppShoppingCartController.java | 33 ++++--- 3 files changed, 95 insertions(+), 33 deletions(-) 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 151b8d5..a5cb713 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 @@ -1,16 +1,16 @@ 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 -* @since 2025-08-23 +* @since 2025-11-21 */ @Data @@ -21,21 +21,24 @@ 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 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"; // 总价 - 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 + 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"; // 总价 + 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 + public final static String single_discount_amount = CLASS_NAME + "single_discount_amount"; // 单比折扣价 + public final static String all_discount_amount = CLASS_NAME + "all_discount_amount"; // 总折扣价 + public final static String activity_info = CLASS_NAME + "activity_info"; // 活动信息 // @TableId(value = "id", type = IdType.AUTO) private Long id; @@ -67,6 +70,12 @@ private static final long serialVersionUID = 1L; private Long skuId; //商品id private Long productId; + //单比折扣价 + private BigDecimal singleDiscountAmount; + //总折扣价 + private BigDecimal allDiscountAmount; + //活动信息 + private String activityInfo; /** * * @return @@ -292,6 +301,51 @@ private static final long serialVersionUID = 1L; this.productId = productId; } + /** + * 单比折扣价 + * @return + */ + public BigDecimal getSingleDiscountAmount() { + return singleDiscountAmount; + } + /** + * 单比折扣价 + * @param singleDiscountAmount + */ + public void setSingleDiscountAmount(BigDecimal singleDiscountAmount) { + this.singleDiscountAmount = singleDiscountAmount; + } + + /** + * 总折扣价 + * @return + */ + public BigDecimal getAllDiscountAmount() { + return allDiscountAmount; + } + /** + * 总折扣价 + * @param allDiscountAmount + */ + public void setAllDiscountAmount(BigDecimal allDiscountAmount) { + this.allDiscountAmount = allDiscountAmount; + } + + /** + * 活动信息 + * @return + */ + public String getActivityInfo() { + return activityInfo; + } + /** + * 活动信息 + * @param activityInfo + */ + public void setActivityInfo(String activityInfo) { + this.activityInfo = activityInfo; + } + @Override public String toString() { return "VvShoppingCartEntity{" + @@ -310,6 +364,9 @@ private static final long serialVersionUID = 1L; ",buyerId=" + buyerId + ",skuId=" + skuId + ",productId=" + productId + + ",singleDiscountAmount=" + singleDiscountAmount + + ",allDiscountAmount=" + allDiscountAmount + + ",activityInfo=" + activityInfo + "}"; } } \ 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 8e8559d..6ed2c06 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 @@ -48,7 +48,7 @@ public class MysqlMain_update { } List list = new ArrayList(); - list.add(new TablesBean("vv_sku")); + list.add(new TablesBean("vv_shopping_cart")); Map map = MysqlUtil2ShowCreateTable.getComments(); for (int i = 0; i < list.size(); i++) { 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 a20f17a..d3ce9e4 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 @@ -3,18 +3,18 @@ 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.VvActivityDTO; 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.alibaba.request.vv.AppShoppingCartAddRequest; import com.heyu.api.common.annotation.AppLogin; import com.heyu.api.common.annotation.Describe; +import com.heyu.api.data.constants.ApiConstants; import com.heyu.api.data.dao.vv.*; import com.heyu.api.data.dto.vv.VvShoppingCartDTO; import com.heyu.api.data.entity.vv.*; -import com.heyu.api.data.utils.BigDecimalUtil; -import com.heyu.api.data.utils.NumberUtil; -import com.heyu.api.data.utils.R; +import com.heyu.api.data.utils.*; import com.heyu.api.utils.ISelect; import com.heyu.api.utils.PPageUtils; import lombok.extern.slf4j.Slf4j; @@ -52,6 +52,8 @@ public class AppShoppingCartController { @Autowired private VvSkuDao vvSkuDao; + @Autowired + private RedisUtils redisUtils; /*** * 列表 /app/shipping/cart/list */ @@ -68,11 +70,8 @@ public class AppShoppingCartController { ); } }); - List shoppingCartEntities = pageUtils.getRows(); - List vvShoppingCartDTOS = new ArrayList<>(); - List skuIds = new ArrayList<>(); for (VvShoppingCartEntity vvShoppingCartEntity : shoppingCartEntities) { skuIds.add(vvShoppingCartEntity.getSkuId()); @@ -84,7 +83,7 @@ public class AppShoppingCartController { BeanUtils.copyProperties(vvShoppingCartEntity, vvShoppingCartDTO); for (VvSkuEntity vvSkuEntity : vvSkuEntities) { - if(NumberUtil.equals(vvShoppingCartEntity.getSkuId(),vvSkuEntity.getId())){ + if (NumberUtil.equals(vvShoppingCartEntity.getSkuId(), vvSkuEntity.getId())) { vvShoppingCartDTO.setVvSkuEntity(vvSkuEntity); } @@ -105,9 +104,13 @@ public class AppShoppingCartController { @RequestMapping("/addOrUpdate") public R add(@RequestBody AppShoppingCartAddRequest VvShoppingCartAddRequest) { VvBuyerEntity vvBuyerEntity = vvBuyerDao.selectVvBuyerById(VvShoppingCartAddRequest.getBuyerId()); + String activityTokenInfo = redisUtils.get(ApiConstants.token_activity + VvShoppingCartAddRequest.getToken()); + VvActivityDTO vvActivityDTO = null; + if(StringUtils.isNotEmpty(activityTokenInfo)){ + vvActivityDTO = JSON.parseObject(activityTokenInfo, VvActivityDTO.class); + } VvShoppingCartEntity vvShoppingCartEntity = new VvShoppingCartEntity(); - vvShoppingCartEntity.setNum(VvShoppingCartAddRequest.getNum()); vvShoppingCartEntity.setBuyerName(vvBuyerEntity.getBuyerName()); vvShoppingCartEntity.setBuyerPhone(vvBuyerEntity.getBuyerPhone()); @@ -116,15 +119,20 @@ public class AppShoppingCartController { vvShoppingCartEntity.setBuyerId(VvShoppingCartAddRequest.getBuyerId()); VvSkuEntity vvSkuEntity = vvSkuDao.selectVvSkuById(VvShoppingCartAddRequest.getSkuId()); - vvShoppingCartEntity.setProductId(vvSkuEntity.getProductId()); - vvShoppingCartEntity.setSinglePrice(vvSkuEntity.getPromotionPrice()); vvShoppingCartEntity.setAllPrice(BigDecimalUtil.multiply(vvSkuEntity.getPromotionPrice(), new BigDecimal(VvShoppingCartAddRequest.getNum()))); - List vvSkuPropertyValueEntities = vvSkuPropertyValueDao.selectVvSkuPropertyValueBySkuId(vvShoppingCartEntity.getSkuId()); + if(vvActivityDTO !=null){ + vvShoppingCartEntity.setActivityInfo(JSON.toJSONString(vvActivityDTO)); + vvShoppingCartEntity.setAllDiscountAmount(BigDecimalUtil.multiply(vvActivityDTO.getDiscountAmount(), new BigDecimal(VvShoppingCartAddRequest.getNum()))); + vvShoppingCartEntity.setSingleDiscountAmount(vvActivityDTO.getDiscountAmount()); + } + + List vvSkuPropertyValueEntities = vvSkuPropertyValueDao.selectVvSkuPropertyValueBySkuId(vvShoppingCartEntity.getSkuId()); VvSkuPropertyValueEntity vvSkuPropertyValue = vvSkuPropertyValueEntities.get(0); VvProductEntity vvProduct = vvProductDao.selectVvProductById(vvSkuPropertyValue.getProductId()); + vvShoppingCartEntity.setProductName(vvProduct.getTitle()); List propertyNameValues = new ArrayList<>(); @@ -134,11 +142,8 @@ public class AppShoppingCartController { propertyNameValue.setPropertyValue(vvSkuPropertyValueEntity.getProductPropertyValue()); propertyNameValues.add(propertyNameValue); } - vvShoppingCartEntity.setSkuInfo(JSON.toJSONString(propertyNameValues)); - vvShoppingCartDao.insertOrUpdateVvShoppingCart(vvShoppingCartEntity); - return R.ok(); }