40 \
Magento\SalesRule\Model\RuleFactory $ruleFactory,
41 \
Magento\SalesRule\Model\Rule\CustomerFactory $ruleCustomerFactory,
45 $this->_ruleFactory = $ruleFactory;
46 $this->_ruleCustomerFactory = $ruleCustomerFactory;
48 $this->_couponUsage = $couponUsage;
65 $ruleIds = explode(
',',
$order->getAppliedRuleIds());
66 $ruleIds = array_unique($ruleIds);
77 $rule = $this->_ruleFactory->create();
80 $rule->loadCouponCode();
81 $rule->setTimesUsed(
$rule->getTimesUsed() + 1);
86 $ruleCustomer = $this->_ruleCustomerFactory->create();
89 if ($ruleCustomer->getId()) {
90 $ruleCustomer->setTimesUsed($ruleCustomer->getTimesUsed() + 1);
94 $ruleCustomer->save();
99 $this->_coupon->load(
$order->getCouponCode(),
'code');
100 if ($this->_coupon->getId()) {
101 $this->_coupon->setTimesUsed($this->_coupon->getTimesUsed() + 1);
102 $this->_coupon->save();
104 $this->_couponUsage->updateCustomerCouponTimesUsed(
$customerId, $this->_coupon->getId());
__construct(\Magento\SalesRule\Model\RuleFactory $ruleFactory, \Magento\SalesRule\Model\Rule\CustomerFactory $ruleCustomerFactory, \Magento\SalesRule\Model\Coupon $coupon, \Magento\SalesRule\Model\ResourceModel\Coupon\Usage $couponUsage)
execute(Observer $observer)