Explorar o código

update:商品列表添加sku

liujunchi %!s(int64=3) %!d(string=hai) anos
pai
achega
823dab0634

+ 4 - 0
cooleshow-mall/mall-mbg/src/main/java/com/yonge/cooleshow/mbg/mapper/PmsProductAttributeMapper.java

@@ -1,8 +1,12 @@
 package com.yonge.cooleshow.mbg.mapper;
 
+import com.yonge.cooleshow.mbg.model.PmsProduct;
 import com.yonge.cooleshow.mbg.model.PmsProductAttribute;
 import com.yonge.cooleshow.mbg.model.PmsProductAttributeExample;
+
 import java.util.List;
+
+import com.yonge.cooleshow.mbg.model.PmsProductAttributeValue;
 import org.apache.ibatis.annotations.Param;
 
 public interface PmsProductAttributeMapper {

+ 12 - 0
cooleshow-mall/mall-mbg/src/main/java/com/yonge/cooleshow/mbg/model/PmsProduct.java

@@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModelProperty;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.List;
 
 public class PmsProduct implements Serializable {
     private Long id;
@@ -120,8 +121,19 @@ public class PmsProduct implements Serializable {
     @ApiModelProperty(value = "移动端网页详情")
     private String detailMobileHtml;
 
+    @ApiModelProperty("商品的sku库存信息")
+    private List<PmsSkuStock> skuStockList;
+
     private static final long serialVersionUID = 1L;
 
+    public List<PmsSkuStock> getSkuStockList() {
+        return skuStockList;
+    }
+
+    public void setSkuStockList(List<PmsSkuStock> skuStockList) {
+        this.skuStockList = skuStockList;
+    }
+
     public Long getId() {
         return id;
     }

+ 11 - 0
cooleshow-mall/mall-mbg/src/main/java/com/yonge/cooleshow/mbg/model/PmsProductAttributeValue.java

@@ -10,11 +10,22 @@ public class PmsProductAttributeValue implements Serializable {
 
     private Long productAttributeId;
 
+    @ApiModelProperty("属性名")
+    private String productAttributeName;
+
     @ApiModelProperty(value = "手动添加规格或参数的值,参数单值,规格有多个时以逗号隔开")
     private String value;
 
     private static final long serialVersionUID = 1L;
 
+    public String getProductAttributeName() {
+        return productAttributeName;
+    }
+
+    public void setProductAttributeName(String productAttributeName) {
+        this.productAttributeName = productAttributeName;
+    }
+
     public Long getId() {
         return id;
     }

+ 16 - 1
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/impl/PmsPortalProductServiceImpl.java

@@ -18,6 +18,7 @@ import org.springframework.util.CollectionUtils;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -76,7 +77,21 @@ public class PmsPortalProductServiceImpl implements PmsPortalProductService {
         } else if (sort == 4) {
             example.setOrderByClause("price desc");
         }
-        return productMapper.selectByExample(example);
+        List<PmsProduct> pmsProducts = productMapper.selectByExample(example);
+        List<Long> productIdList = pmsProducts.stream().map(PmsProduct::getId).collect(Collectors.toList());
+        if (CollectionUtils.isEmpty(productIdList)) {
+            return pmsProducts;
+        }
+        PmsSkuStockExample skuExample = new PmsSkuStockExample();
+        skuExample.createCriteria().andProductIdIn(productIdList);
+        List<PmsSkuStock> skuStockList = skuStockMapper.selectByExample(skuExample);
+        Map<Long, List<PmsSkuStock>> collect = skuStockList.stream()
+                                                           .collect(Collectors.groupingBy(PmsSkuStock::getProductId));
+        for (PmsProduct pmsProduct : pmsProducts) {
+            pmsProduct.setSkuStockList(collect.get(pmsProduct.getId()));
+        }
+        return pmsProducts;
+
     }
 
     @Override