6 declare(strict_types=1);
29 private $getSkuListInStock;
34 private $indexStructure;
39 private $indexHandler;
44 private $indexDataBySkuListProvider;
49 private $indexNameBuilder;
54 private $stockIndexer;
59 private $defaultStockProvider;
81 $this->getSkuListInStock = $getSkuListInStockToUpdate;
82 $this->indexStructure = $indexStructureHandler;
83 $this->indexHandler = $indexHandler;
84 $this->indexDataBySkuListProvider = $indexDataBySkuListProvider;
85 $this->indexNameBuilder = $indexNameBuilder;
86 $this->stockIndexer = $stockIndexer;
87 $this->defaultStockProvider = $defaultStockProvider;
95 $this->stockIndexer->executeFull();
113 $skuListInStockList = $this->getSkuListInStock->execute($sourceItemIds);
115 foreach ($skuListInStockList as $skuListInStock) {
116 $stockId = $skuListInStock->getStockId();
117 if ($this->defaultStockProvider->getId() === $stockId) {
121 $skuList = $skuListInStock->getSkuList();
123 $mainIndexName = $this->indexNameBuilder
125 ->addDimension(
'stock_', (
string)$stockId)
133 $this->indexHandler->cleanIndex(
139 $indexData = $this->indexDataBySkuListProvider->execute($stockId,
$skuList);
140 $this->indexHandler->saveIndex(
executeRow(int $sourceItemId)
__construct(GetSkuListInStock $getSkuListInStockToUpdate, IndexStructureInterface $indexStructureHandler, IndexHandlerInterface $indexHandler, IndexDataBySkuListProvider $indexDataBySkuListProvider, IndexNameBuilder $indexNameBuilder, StockIndexer $stockIndexer, DefaultStockProviderInterface $defaultStockProvider)
executeList(array $sourceItemIds)