yangdamao 3 лет назад
Родитель
Сommit
3177247f4e

+ 4 - 1
zhongzheng-system/src/main/java/com/zhongzheng/modules/base/bo/ShoppingCartAddBo.java

@@ -5,7 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import java.util.Date;
-
+import java.util.List;
 
 
 /**
@@ -21,6 +21,9 @@ public class ShoppingCartAddBo {
     /** 商品ID */
     @ApiModelProperty("商品ID")
     private Long goodsId;
+    /** 商品IDs */
+    @ApiModelProperty("商品IDs")
+    private List<Long> goodsIds;
     /** $column.columnComment */
     @ApiModelProperty("$column.columnComment")
     private Long userId;

+ 11 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/base/service/impl/ShoppingCartServiceImpl.java

@@ -3,6 +3,7 @@ package com.zhongzheng.modules.base.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.lang.Validator;
 import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.zhongzheng.common.exception.CustomException;
 import com.zhongzheng.common.utils.DateUtils;
 import com.zhongzheng.modules.base.bo.ShoppingCartAddBo;
@@ -80,6 +81,16 @@ public class ShoppingCartServiceImpl extends ServiceImpl<ShoppingCartMapper, Sho
 
     @Override
     public Boolean insertByAddBo(ShoppingCartAddBo bo) {
+        if (CollectionUtils.isNotEmpty(bo.getGoodsIds())){
+            List<ShoppingCart> entitys = bo.getGoodsIds().stream().map(item -> {
+                ShoppingCart add = BeanUtil.toBean(bo, ShoppingCart.class);
+                add.setCreateTime(DateUtils.getNowTime());
+                add.setUpdateTime(DateUtils.getNowTime());
+                add.setGoodsId(item);
+                return add;
+            }).collect(Collectors.toList());
+            return this.saveBatch(entitys);
+        }
         ShoppingCart add = BeanUtil.toBean(bo, ShoppingCart.class);
         validEntityBeforeSave(add);
         add.setCreateTime(DateUtils.getNowTime());

+ 24 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsSpecTemplateServiceImpl.java

@@ -76,6 +76,30 @@ public class GoodsSpecTemplateServiceImpl extends ServiceImpl<GoodsSpecTemplateM
                 return goodsSpecVo;
             }).collect(Collectors.toList());
             vo.setSpecList(specVos);
+
+            //规格模板价格集合
+            List<GoodsSpecAttributeVo> specAttrList = specVos.get(0).getSpecAttrList();
+            if (CollectionUtils.isNotEmpty(specAttrList)){
+                List<SpecAttrPriceVo> voList = new ArrayList<>();
+                specAttrList.forEach(item -> {
+                    List<GoodsSpecAttributeRelation> relations = goodsSpecAttributeRelationService.list(new LambdaQueryWrapper<GoodsSpecAttributeRelation>()
+                            .eq(GoodsSpecAttributeRelation::getSpecTemplateId, vo.getSpecTemplateId())
+                            .like(GoodsSpecAttributeRelation::getSpecAttributeIds, item.getSpecAttributeId()));
+                    if (CollectionUtils.isNotEmpty(relations)){
+                        List<SpecAttrPriceVo> collect = relations.stream().map(x -> {
+                            SpecAttrPriceVo priceVo = new SpecAttrPriceVo();
+                            priceVo.setSpecAttrIds(x.getSpecAttributeIds());
+                            priceVo.setSpecTemplateId(x.getSpecTemplateId());
+                            priceVo.setGoodsId(x.getGoodsId());
+                            Goods goods = goodsService.getById(x.getGoodsId());
+                            priceVo.setStandPrice(goods.getStandPrice());
+                            return priceVo;
+                        }).collect(Collectors.toList());
+                        voList.addAll(collect);
+                    }
+                });
+                vo.setSpecAttrPriceList(voList);
+            }
         }
         return vo;
     }

+ 3 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/GoodsSpecTemplateVo.java

@@ -53,4 +53,7 @@ public class GoodsSpecTemplateVo {
 	private Integer status;
 	@ApiModelProperty("模板规格集合")
 	private List<GoodsSpecVo> specList;
+
+	@ApiModelProperty("模板规格商品价格集合")
+	private List<SpecAttrPriceVo> specAttrPriceList;
 }

+ 28 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/vo/SpecAttrPriceVo.java

@@ -0,0 +1,28 @@
+package com.zhongzheng.modules.goods.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @author yangdamao
+ * @date 2022年12月13日 15:41
+ */
+@Data
+public class SpecAttrPriceVo implements Serializable {
+
+    @ApiModelProperty("属性值IDs")
+    private String specAttrIds;
+
+    @ApiModelProperty("规格模板ID")
+    private Long specTemplateId;
+
+    @ApiModelProperty("商品ID")
+    private Long goodsId;
+
+    @ApiModelProperty("商品价格")
+    private BigDecimal standPrice;
+
+}