ソースを参照

下单前判断

刘俊驰 1 年間 前
コミット
7529e69db5

+ 7 - 7
mec-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/impl/OmsCartItemServiceImpl.java

@@ -71,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());
@@ -187,9 +187,9 @@ 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();
-        }
+//        if (pmsSkuStock.getStock() - pmsSkuStock.getLockStock() < quantity) {
+//            return pmsSkuStock.getStock() - pmsSkuStock.getLockStock();
+//        }
 
         OmsCartItemExample example = new OmsCartItemExample();
         example.createCriteria().andDeleteStatusEqualTo(0)

+ 16 - 0
mec-mall/mall-portal/src/main/java/com/yonge/cooleshow/portal/service/impl/OmsPortalOrderServiceImpl.java

@@ -206,6 +206,22 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
             orderItem.setIntegrationAmount(new BigDecimal(0));
             orderItemList.add(orderItem);
         }
+        // 判断是否存在被删除的商品 和sku 如果有被删除的商品或者sku则不允许下单
+        List<Long> productIds = orderItemList.stream().map(OmsOrderItem::getProductId).collect(Collectors.toList());
+        PmsProductExample pmsProductExample = new PmsProductExample();
+        pmsProductExample.createCriteria().andIdIn(productIds).andDeleteStatusEqualTo(1);
+        List<PmsProduct> pmsProducts = pmsProductMapper.selectByExample(pmsProductExample);
+        if (CollUtil.isNotEmpty(pmsProducts)) {
+            throw new BizException("商品已下架");
+        }
+        List<Long> skuIds = orderItemList.stream().map(OmsOrderItem::getProductSkuId).collect(Collectors.toList());
+        PmsSkuStockExample pmsSkuStockExample = new PmsSkuStockExample();
+        pmsSkuStockExample.createCriteria().andIdIn(skuIds).andDeleteStatusEqualTo(1);
+        List<PmsSkuStock> pmsSkuStocks = skuStockMapper.selectByExample(pmsSkuStockExample);
+        if (CollUtil.isNotEmpty(pmsSkuStocks)) {
+            throw new BizException("商品已下架");
+        }
+
         //判断购物车中商品是否都有库存
 
         BigDecimal couponAmount = BigDecimal.ZERO;