6 declare(strict_types=1);
11 use Magento\CatalogInventory\Api\Data\StockItemInterfaceFactory;
13 use Magento\CatalogInventory\Api\StockItemCriteriaInterfaceFactory;
24 private $stockItemFactory;
29 private $legacyStockItemCriteriaFactory;
34 private $legacyStockItemRepository;
39 private $getProductIdsBySkus;
48 StockItemInterfaceFactory $stockItemFactory,
49 StockItemCriteriaInterfaceFactory $legacyStockItemCriteriaFactory,
53 $this->stockItemFactory = $stockItemFactory;
54 $this->legacyStockItemCriteriaFactory = $legacyStockItemCriteriaFactory;
55 $this->legacyStockItemRepository = $legacyStockItemRepository;
56 $this->getProductIdsBySkus = $getProductIdsBySkus;
69 $productId = $this->getProductIdsBySkus->execute([$sku])[$sku];
71 $stockItem = $this->stockItemFactory->create();
83 $stockItemCollection = $this->legacyStockItemRepository->getList(
$searchCriteria);
84 if ($stockItemCollection->getTotalCount() === 0) {
85 return $this->stockItemFactory->create();
88 $stockItems = $stockItemCollection->getItems();
__construct(StockItemInterfaceFactory $stockItemFactory, StockItemCriteriaInterfaceFactory $legacyStockItemCriteriaFactory, StockItemRepositoryInterface $legacyStockItemRepository, GetProductIdsBySkusInterface $getProductIdsBySkus)