liujunchi 3 years ago
parent
commit
d7ba2e2d4a

+ 6 - 5
cooleshow-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/impl/OmsCartItemServiceImpl.java

@@ -75,7 +75,7 @@ public class OmsCartItemServiceImpl implements OmsCartItemService {
             cartItem.setProductBrand(pmsProduct.getName());
             cartItem.setProductSn(pmsProduct.getProductSn());
             if (cartItem.getProductSkuId() != null) {
-                if (pmsSkuStock.getStock() < cartItem.getQuantity()) {
+                if (pmsSkuStock.getStock() - pmsSkuStock.getLockStock() < cartItem.getQuantity()) {
                     throw new BizException("库存不足");
                 }
                 cartItem.setProductSkuCode(pmsSkuStock.getSkuCode());
@@ -87,7 +87,7 @@ public class OmsCartItemServiceImpl implements OmsCartItemService {
             cartItemMapper.insert(cartItem);
             return cartItem;
         } else {
-            if (pmsSkuStock.getStock() < existCartItem.getQuantity() + cartItem.getQuantity()) {
+            if (pmsSkuStock.getStock() - pmsSkuStock.getLockStock() < existCartItem.getQuantity() + cartItem.getQuantity()) {
                 throw new BizException("库存不足");
             }
             cartItem.setModifyDate(new Date());
@@ -170,14 +170,15 @@ public class OmsCartItemServiceImpl implements OmsCartItemService {
 
         PmsSkuStock pmsSkuStock = skuStockMapper.selectByPrimaryKey(omsCartItem.getProductSkuId());
 
-        if (pmsSkuStock.getStock() < quantity) {
-            throw new BizException("库存不足");
+        if (pmsSkuStock.getStock() - pmsSkuStock.getLockStock() < quantity) {
+            return pmsSkuStock.getStock() - pmsSkuStock.getLockStock();
         }
 
         OmsCartItemExample example = new OmsCartItemExample();
         example.createCriteria().andDeleteStatusEqualTo(0)
                 .andIdEqualTo(id).andMemberIdEqualTo(memberId);
-        return cartItemMapper.updateByExampleSelective(cartItem, example);
+        cartItemMapper.updateByExampleSelective(cartItem, example);
+        return pmsSkuStock.getStock() - pmsSkuStock.getLockStock();
     }
 
     @Override