/** * Add price data to the index data. * * {@inheritdoc} */ public function addData($storeId, array $indexData) { $priceData = $this->resourceModel->loadPriceData($storeId, array_keys($indexData)); foreach ($priceData as $priceDataRow) { $productId = (int) $priceDataRow['entity_id']; $isOriginalPriceReliable = $this->isOriginalPriceReliable($indexData[$productId]['type_id']); $originalPrice = $priceDataRow['min_price']; $finalPrice = $priceDataRow['min_price']; if ($isOriginalPriceReliable) { if ($priceDataRow['price']) { $originalPrice = $priceDataRow['price']; } if ($priceDataRow['final_price']) { $finalPrice = $priceDataRow['final_price']; } } $indexData[$productId]['price'][] = ['price' => $finalPrice, 'original_price' => $originalPrice, 'is_discount' => $finalPrice < $originalPrice, 'customer_group_id' => $priceDataRow['customer_group_id']]; } return $indexData; }