|
@@ -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;
|
|
@@ -66,14 +71,14 @@ public class OmsCartItemServiceImpl implements OmsCartItemService {
|
|
|
}
|
|
|
|
|
|
PmsSkuStock pmsSkuStock = skuStockMapper.selectByPrimaryKey(cartItem.getProductSkuId());
|
|
|
- if (pmsSkuStock == null) {
|
|
|
- throw new BizException("商品规格不存在");
|
|
|
+ if (pmsSkuStock == null|| pmsSkuStock.getDeleteStatus() == 1) {
|
|
|
+ throw new BizException("商品已下架");
|
|
|
}
|
|
|
if (existCartItem == null) {
|
|
|
PmsProduct pmsProduct = pmsProductMapper.selectByPrimaryKey(cartItem.getProductId());
|
|
|
|
|
|
- if (pmsProduct == null) {
|
|
|
- throw new BizException("商品不存在");
|
|
|
+ if (pmsProduct == null || pmsProduct.getDeleteStatus() == 1) {
|
|
|
+ throw new BizException("商品已下架");
|
|
|
}
|
|
|
cartItem.setPrice(pmsProduct.getPrice());
|
|
|
cartItem.setProductPic(pmsProduct.getPic());
|
|
@@ -135,6 +140,8 @@ public class OmsCartItemServiceImpl implements OmsCartItemService {
|
|
|
PmsSkuStockExample skuExample = new PmsSkuStockExample();
|
|
|
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) {
|
|
@@ -178,10 +185,11 @@ public class OmsCartItemServiceImpl implements OmsCartItemService {
|
|
|
}
|
|
|
|
|
|
PmsSkuStock pmsSkuStock = skuStockMapper.selectByPrimaryKey(omsCartItem.getProductSkuId());
|
|
|
-
|
|
|
- if (pmsSkuStock.getStock() - pmsSkuStock.getLockStock() < quantity) {
|
|
|
- return pmsSkuStock.getStock() - pmsSkuStock.getLockStock();
|
|
|
- }
|
|
|
+ List<PmsSkuStock> pmsSkuStocks = portalProductService.updateProductSkuStock(Lists.newArrayList(pmsSkuStock));
|
|
|
+ pmsSkuStock = pmsSkuStocks.get(0);
|
|
|
+// if (pmsSkuStock.getStock() - pmsSkuStock.getLockStock() < quantity) {
|
|
|
+// return pmsSkuStock.getStock() - pmsSkuStock.getLockStock();
|
|
|
+// }
|
|
|
|
|
|
OmsCartItemExample example = new OmsCartItemExample();
|
|
|
example.createCriteria().andDeleteStatusEqualTo(0)
|