|
@@ -1,9 +1,7 @@
|
|
|
package com.yonge.cooleshow.portal.service.impl;
|
|
|
|
|
|
-import com.yonge.cooleshow.mbg.model.OmsCartItem;
|
|
|
-import com.yonge.cooleshow.mbg.model.PmsProductFullReduction;
|
|
|
-import com.yonge.cooleshow.mbg.model.PmsProductLadder;
|
|
|
-import com.yonge.cooleshow.mbg.model.PmsSkuStock;
|
|
|
+import com.yonge.cooleshow.mbg.mapper.PmsSkuStockMapper;
|
|
|
+import com.yonge.cooleshow.mbg.model.*;
|
|
|
import com.yonge.cooleshow.portal.dao.PortalProductDao;
|
|
|
import com.yonge.cooleshow.portal.domain.CartPromotionItem;
|
|
|
import com.yonge.cooleshow.portal.domain.PromotionProduct;
|
|
@@ -16,6 +14,7 @@ import org.springframework.stereotype.Service;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* Created by macro on 2018/8/27.
|
|
@@ -29,6 +28,9 @@ public class OmsPromotionServiceImpl implements OmsPromotionService {
|
|
|
@Autowired
|
|
|
private PmsPortalProductService portalProductService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private PmsSkuStockMapper skuStockMapper;
|
|
|
+
|
|
|
@Override
|
|
|
public List<CartPromotionItem> calcCartPromotion(List<OmsCartItem> cartItemList) {
|
|
|
//1.先根据productId对CartItem进行分组,以spu为单位进行计算优惠
|
|
@@ -142,7 +144,14 @@ public class OmsPromotionServiceImpl implements OmsPromotionService {
|
|
|
}
|
|
|
List<PromotionProduct> promotionProductList = portalProductDao.getPromotionProductList(productIdList);
|
|
|
for (PromotionProduct promotionProduct : promotionProductList) {
|
|
|
- List<PmsSkuStock> pmsSkuStocks = portalProductService.updateProductSkuStock(promotionProduct.getSkuStockList());
|
|
|
+ List<PmsSkuStock> skuStockList = promotionProduct.getSkuStockList();
|
|
|
+ // id 集合
|
|
|
+ List<Long> skuIds = skuStockList.stream().map(PmsSkuStock::getId).collect(Collectors.toList());
|
|
|
+ PmsSkuStockExample example = new PmsSkuStockExample();
|
|
|
+ example.createCriteria().andIdIn(skuIds);
|
|
|
+ List<PmsSkuStock> pmsSkuStocks = skuStockMapper.selectByExample(example);
|
|
|
+
|
|
|
+ pmsSkuStocks = portalProductService.updateProductSkuStock(pmsSkuStocks);
|
|
|
promotionProduct.setSkuStockList(pmsSkuStocks);
|
|
|
}
|
|
|
|