Преглед изворни кода

Merge remote-tracking branch 'origin/zx_saas_goods' into zx_saas_goods

zouxuan пре 1 година
родитељ
комит
8b3040ba34

+ 21 - 0
mec-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/service/impl/PmsProductServiceImpl.java

@@ -463,6 +463,27 @@ public class PmsProductServiceImpl implements PmsProductService {
         if (CollectionUtils.isEmpty(feignProductList)) {
             return new ArrayList<>();
         }
+
+        // 设置库存
+        // 从进货清单中 获取剩余库存数量
+        List<Long> productIds = feignProductList.stream().map(PmsProductDto::getGoodsId).collect(Collectors.toList());
+
+        // 计算库存数据
+        List<PmsSkuStockDto.PmsSkuStockStock> skuStockStocks = skuStockMapper.getSkuStockByProductIds(productIds);
+
+        // Convert to map
+        Map<Long, List<PmsSkuStockDto.PmsSkuStockStock>> skuStockStockMap = skuStockStocks.stream().collect(Collectors.groupingBy(PmsSkuStockDto.PmsSkuStockStock::getProductId));
+
+        // Merge
+        for (PmsProductDto pmsProduct : feignProductList) {
+            List<PmsSkuStockDto.PmsSkuStockStock> skuStockStock = skuStockStockMap.get(pmsProduct.getGoodsId());
+            if (!CollectionUtils.isEmpty(skuStockStock)) {
+                pmsProduct.setStock(skuStockStock.stream().mapToInt(PmsSkuStockDto.PmsSkuStockStock::getInternalStock).sum() + skuStockStock.stream().mapToInt(PmsSkuStockDto.PmsSkuStockStock::getTaxStock).sum());
+            } else {
+                pmsProduct.setStock(0);
+            }
+        }
+
         // 品牌ID集合
         List<Long> brandIds = feignProductList.stream().map(PmsProductDto::getBrandId).collect(Collectors.toList());
 

+ 1 - 1
mec-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/wrapper/PmsProductSkuStockRecordWrapper.java

@@ -99,7 +99,7 @@ public class PmsProductSkuStockRecordWrapper {
         /**
          * 商品skuId
          */
-        @ApiModelProperty("商品sku编号")
+        @ApiModelProperty("sku规格")
         @ExcelProperty(value = "sku规格",order = 3)
         private String spData;
 

+ 1 - 1
mec-mall/mall-mbg/src/main/resources/config/mybatis/PmsProductMapper.xml

@@ -921,6 +921,6 @@
   </update>
 
   <update id="lockStock">
-    update pms_product set lock_stock = lock_stock + #{sum} where  id = #{productId} and stock &gt;= ( lock_stock + #{sum})
+    update pms_product set lock_stock = lock_stock where  id = #{productId}
   </update>
 </mapper>

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

@@ -83,9 +83,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 +95,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 {

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

@@ -207,9 +207,7 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
             orderItemList.add(orderItem);
         }
         //判断购物车中商品是否都有库存
-        if (!hasStock(cartPromotionItemList)) {
-            Asserts.fail("库存不足,无法下单");
-        }
+
         BigDecimal couponAmount = BigDecimal.ZERO;
         BigDecimal amount = calcTotalAmount(orderItemList);
         if (!StringUtil.isEmpty(orderParam.getCouponId())) {
@@ -1377,7 +1375,7 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
             }
             int i = skuStockMapper.lockStock(cartPromotionItem.getProductSkuId(), cartPromotionItem.getQuantity());
             if (i == 0) {
-                Asserts.fail("库存不足");
+//                Asserts.fail("库存不足");
             }
         }
     }
@@ -1398,7 +1396,7 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
             if (sum > 0) {
                 int i = pmsProductMapper.lockStock(entry.getKey(), sum);
                 if (i == 0) {
-                    Asserts.fail("库存不足");
+//                    Asserts.fail("库存不足");
                 }
             }
         }