liujunchi 3 年之前
父节点
当前提交
aea829e305

+ 24 - 0
cooleshow-mall/mall-mbg/src/main/java/com/yonge/cooleshow/mbg/model/OmsCartItem.java

@@ -59,6 +59,30 @@ public class OmsCartItem implements Serializable {
     @ApiModelProperty("是否隐藏(1:是,0:否)")
     private Integer hidden;
 
+    @ApiModelProperty(value = "库存")
+    private Integer stock = 0;
+
+
+    @ApiModelProperty(value = "锁定库存")
+    private Integer lockStock = 0 ;
+
+
+    public Integer getStock() {
+        return stock;
+    }
+
+    public void setStock(Integer stock) {
+        this.stock = stock;
+    }
+
+    public Integer getLockStock() {
+        return lockStock;
+    }
+
+    public void setLockStock(Integer lockStock) {
+        this.lockStock = lockStock;
+    }
+
     private static final long serialVersionUID = 1L;
 
     public Integer getHidden() {

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

@@ -20,6 +20,7 @@ import org.springframework.util.StringUtils;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -117,7 +118,21 @@ public class OmsCartItemServiceImpl implements OmsCartItemService {
     public List<OmsCartItem> list(Long memberId) {
         OmsCartItemExample example = new OmsCartItemExample();
         example.createCriteria().andDeleteStatusEqualTo(0).andMemberIdEqualTo(memberId).andHiddenEqualTo(0);
-        return cartItemMapper.selectByExample(example);
+        List<OmsCartItem> omsCartItems = cartItemMapper.selectByExample(example);
+        List<Long> skuIds = omsCartItems.stream().map(OmsCartItem::getProductSkuId).collect(Collectors.toList());
+        PmsSkuStockExample skuExample = new PmsSkuStockExample();
+        skuExample.createCriteria().andIdIn(skuIds);
+        List<PmsSkuStock> pmsSkuStocks = skuStockMapper.selectByExample(skuExample);
+        Map<Long, List<PmsSkuStock>> collect =
+                pmsSkuStocks.stream().collect(Collectors.groupingBy(PmsSkuStock::getId));
+        for (OmsCartItem omsCartItem : omsCartItems) {
+            List<PmsSkuStock> pmsSkuStocks1 = collect.get(omsCartItem.getProductSkuId());
+            if (!CollectionUtils.isEmpty(pmsSkuStocks1)) {
+                omsCartItem.setStock(pmsSkuStocks1.get(0).getStock());
+                omsCartItem.setLockStock(pmsSkuStocks1.get(0).getLockStock());
+            }
+        }
+        return omsCartItems;
     }
 
     @Override