|
|
@@ -1,6 +1,7 @@
|
|
|
package com.yonge.cooleshow.portal.service.impl;
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
+import com.beust.jcommander.internal.Lists;
|
|
|
import com.ym.mec.common.exception.BizException;
|
|
|
import com.yonge.cooleshow.mbg.mapper.OmsCartItemMapper;
|
|
|
import com.yonge.cooleshow.mbg.mapper.PmsProductMapper;
|
|
|
@@ -11,6 +12,7 @@ import com.yonge.cooleshow.portal.domain.CartProduct;
|
|
|
import com.yonge.cooleshow.portal.domain.CartPromotionItem;
|
|
|
import com.yonge.cooleshow.portal.service.OmsCartItemService;
|
|
|
import com.yonge.cooleshow.portal.service.OmsPromotionService;
|
|
|
+import com.yonge.cooleshow.portal.service.PmsPortalProductService;
|
|
|
import com.yonge.cooleshow.portal.service.UmsMemberService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
@@ -44,6 +46,9 @@ public class OmsCartItemServiceImpl implements OmsCartItemService {
|
|
|
@Autowired
|
|
|
private PmsSkuStockMapper skuStockMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private PmsPortalProductService portalProductService;
|
|
|
+
|
|
|
@Override
|
|
|
public OmsCartItem add(OmsCartItem cartItem) {
|
|
|
UmsMember currentMember;
|
|
|
@@ -83,9 +88,6 @@ public class OmsCartItemServiceImpl implements OmsCartItemService {
|
|
|
cartItem.setProductBrand(pmsProduct.getName());
|
|
|
cartItem.setProductSn(pmsProduct.getProductSn());
|
|
|
if (cartItem.getProductSkuId() != null) {
|
|
|
- if (pmsSkuStock.getStock() - pmsSkuStock.getLockStock() < cartItem.getQuantity()) {
|
|
|
- throw new BizException("库存不足");
|
|
|
- }
|
|
|
cartItem.setProductSkuCode(pmsSkuStock.getSkuCode());
|
|
|
cartItem.setProductAttr(pmsSkuStock.getSpData());
|
|
|
cartItem.setPrice(pmsSkuStock.getPrice());
|
|
|
@@ -98,9 +100,6 @@ public class OmsCartItemServiceImpl implements OmsCartItemService {
|
|
|
if (cartItem.getPromoterId() != null) {
|
|
|
existCartItem.setPromoterId(cartItem.getPromoterId());
|
|
|
}
|
|
|
- if (pmsSkuStock.getStock() - pmsSkuStock.getLockStock() < existCartItem.getQuantity() + cartItem.getQuantity()) {
|
|
|
- throw new BizException("库存不足");
|
|
|
- }
|
|
|
if(existCartItem.getQuantity() + cartItem.getQuantity() > 200) {
|
|
|
existCartItem.setQuantity(200);
|
|
|
} else {
|
|
|
@@ -139,8 +138,10 @@ public class OmsCartItemServiceImpl implements OmsCartItemService {
|
|
|
}
|
|
|
List<Long> skuIds = omsCartItems.stream().map(OmsCartItem::getProductSkuId).collect(Collectors.toList());
|
|
|
PmsSkuStockExample skuExample = new PmsSkuStockExample();
|
|
|
- skuExample.createCriteria().andIdIn(skuIds);
|
|
|
+ skuExample.createCriteria().andIdIn(skuIds).andDeleteStatusEqualTo(0);
|
|
|
List<PmsSkuStock> pmsSkuStocks = skuStockMapper.selectByExample(skuExample);
|
|
|
+
|
|
|
+ pmsSkuStocks = portalProductService.updateProductSkuStock(pmsSkuStocks);
|
|
|
Map<Long, List<PmsSkuStock>> collect =
|
|
|
pmsSkuStocks.stream().collect(Collectors.groupingBy(PmsSkuStock::getId));
|
|
|
for (OmsCartItem omsCartItem : omsCartItems) {
|
|
|
@@ -184,7 +185,8 @@ public class OmsCartItemServiceImpl implements OmsCartItemService {
|
|
|
}
|
|
|
|
|
|
PmsSkuStock pmsSkuStock = skuStockMapper.selectByPrimaryKey(omsCartItem.getProductSkuId());
|
|
|
-
|
|
|
+ List<PmsSkuStock> pmsSkuStocks = portalProductService.updateProductSkuStock(Lists.newArrayList(pmsSkuStock));
|
|
|
+ pmsSkuStock = pmsSkuStocks.get(0);
|
|
|
if (pmsSkuStock.getStock() - pmsSkuStock.getLockStock() < quantity) {
|
|
|
return pmsSkuStock.getStock() - pmsSkuStock.getLockStock();
|
|
|
}
|