diff --git a/vendor/magento/module-sales-rule/Model/Coupon/Usage/Processor.php b/vendor/magento/module-sales-rule/Model/Coupon/Usage/Processor.php index 90a456d5ff8..fbb21bc69d1 100644 --- a/vendor/magento/module-sales-rule/Model/Coupon/Usage/Processor.php +++ b/vendor/magento/module-sales-rule/Model/Coupon/Usage/Processor.php @@ -23,7 +23,7 @@ class Processor private $ruleFactory; /** - * @var RuleFactory + * @var CustomerFactory */ private $ruleCustomerFactory; @@ -132,6 +132,7 @@ class Processor * @param bool $isIncrement * @param int $ruleId * @param int $customerId + * @throws \Exception */ private function updateCustomerRuleUsages(bool $isIncrement, int $ruleId, int $customerId): void { @@ -144,6 +145,9 @@ class Processor } elseif ($isIncrement) { $ruleCustomer->setCustomerId($customerId)->setRuleId($ruleId)->setTimesUsed(1); } - $ruleCustomer->save(); + + if ($ruleCustomer->hasData()) { + $ruleCustomer->save(); + } } }