UpdateQuoteItems.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Quote\Model\Product\Plugin;
  7. class UpdateQuoteItems
  8. {
  9. /**
  10. * @var \Magento\Quote\Model\ResourceModel\Quote
  11. */
  12. private $resource;
  13. /**
  14. * @param \Magento\Quote\Model\ResourceModel\Quote $resource
  15. */
  16. public function __construct(
  17. \Magento\Quote\Model\ResourceModel\Quote $resource
  18. ) {
  19. $this->resource = $resource;
  20. }
  21. /**
  22. * @param \Magento\Catalog\Model\ResourceModel\Product $subject
  23. * @param \Magento\Catalog\Model\ResourceModel\Product $result
  24. * @param \Magento\Framework\Model\AbstractModel $product
  25. * @return \Magento\Catalog\Model\ResourceModel\Product
  26. * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  27. */
  28. public function afterSave(
  29. \Magento\Catalog\Model\ResourceModel\Product $subject,
  30. \Magento\Catalog\Model\ResourceModel\Product $result,
  31. \Magento\Framework\Model\AbstractModel $product
  32. ) {
  33. $originalPrice = $product->getOrigData('price');
  34. $tierPriceChanged = $product->getData('tier_price_changed');
  35. if ((!empty($originalPrice) && ($originalPrice != $product->getPrice())) || $tierPriceChanged) {
  36. $this->resource->markQuotesRecollect($product->getId());
  37. }
  38. return $result;
  39. }
  40. }