![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-sales-rule/Model/Coupon/Quote/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\SalesRule\Model\Coupon\Quote; use Magento\Quote\Api\Data\CartInterface; use Magento\SalesRule\Model\Coupon\Usage\UpdateInfo; use Magento\SalesRule\Model\Coupon\Usage\UpdateInfoFactory; use Magento\SalesRule\Model\Service\CouponUsagePublisher; /** * Updates the coupon usages from quote */ class UpdateCouponUsages { /** * @var UpdateInfoFactory */ private $updateInfoFactory; /** * @var CouponUsagePublisher */ private $couponUsagePublisher; /** * @param CouponUsagePublisher $couponUsagePublisher * @param UpdateInfoFactory $updateInfoFactory */ public function __construct( CouponUsagePublisher $couponUsagePublisher, UpdateInfoFactory $updateInfoFactory ) { $this->couponUsagePublisher = $couponUsagePublisher; $this->updateInfoFactory = $updateInfoFactory; } /** * Executes the current command * * @param CartInterface $quote * @param bool $increment * @return void */ public function execute(CartInterface $quote, bool $increment): void { if (!$quote->getAppliedRuleIds()) { return; } /** @var UpdateInfo $updateInfo */ $updateInfo = $this->updateInfoFactory->create(); $updateInfo->setAppliedRuleIds(explode(',', $quote->getAppliedRuleIds())); $updateInfo->setCouponCode((string)$quote->getCouponCode()); $updateInfo->setCustomerId((int)$quote->getCustomerId()); $updateInfo->setIsIncrement($increment); $this->couponUsagePublisher->publish($updateInfo); } }