Explorar el Código

同步锁定库存

fgd hace 1 año
padre
commit
eb47ee7529

+ 9 - 1
sd-wln/src/main/java/com/sd/wln/service/impl/WlnOrderServiceImpl.java

@@ -880,7 +880,15 @@ public class WlnOrderServiceImpl implements WlnOrderService {
                 .filter(item -> Objects.equals(orderMap.get(item.getOrderId()).getStatus(), OrderStatusEnum.STOCK_PREPARATION.getKey()))
                 .filter(item -> Objects.equals(orderMap.get(item.getOrderId()).getLockStorage(), StatusConstant.NO))
                 .filter(item -> !Objects.equals(skuSpecMap.get(item.getWlnSkuSpecId()).getGiftTag(), StatusConstant.YES))
-                .filter(item -> bomSpecBoMap.get(item.getBomSpecId()).getClassifyParentId().equals(1L))
+                .filter(item -> {
+                    Long bomSpecId = item.getBomSpecId();
+                    BomSpecBo bomSpecBo = bomSpecBoMap.get(bomSpecId);
+                    if (bomSpecBo == null) {
+                        bomSpecBo = skuSpecService.getBomSpecBoById(bomSpecId);
+                        bomSpecBoMap.put(bomSpecId, bomSpecBo);
+                    }
+                    return bomSpecBo.getClassifyParentId().equals(1L);
+                })
                 .collect(Collectors.groupingBy(OrderSku::getOrderId));
 
         orderSkuMap.forEach((orderId, orderSkuList) -> {