diff --git a/Service/Order/CancelOrder.php b/Service/Order/CancelOrder.php index 9785af1480f..7b92c69542c 100644 --- a/Service/Order/CancelOrder.php +++ b/Service/Order/CancelOrder.php @@ -12,8 +12,6 @@ use Magento\Sales\Api\OrderRepositoryInterface; use Magento\Sales\Model\Order; use Magento\Sales\Model\Order\StatusResolver; -use Magento\SalesRule\Model\Coupon; -use Magento\SalesRule\Model\ResourceModel\Coupon\Usage; use Mollie\Payment\Config; class CancelOrder @@ -38,16 +36,6 @@ class CancelOrder */ private $orderRepository; - /** - * @var Coupon - */ - private $coupon; - - /** - * @var Usage - */ - private $couponUsage; - /** * @var StatusResolver */ @@ -63,8 +51,6 @@ public function __construct( OrderCommentHistory $orderCommentHistory, OrderManagementInterface $orderManagement, OrderRepositoryInterface $orderRepository, - Coupon $coupon, - Usage $couponUsage, StatusResolver $statusResolver, ResourceConnection $resource ) { @@ -72,8 +58,6 @@ public function __construct( $this->orderCommentHistory = $orderCommentHistory; $this->orderManagement = $orderManagement; $this->orderRepository = $orderRepository; - $this->coupon = $coupon; - $this->couponUsage = $couponUsage; $this->statusResolver = $statusResolver; $this->resource = $resource; } @@ -101,29 +85,9 @@ public function execute(OrderInterface $order, $reason = null): bool $this->orderManagement->cancel($order->getId()); - if ($order->getCouponCode()) { - $this->resetCouponAfterCancellation($order); - } - return true; } - public function resetCouponAfterCancellation(OrderInterface $order) - { - $this->coupon->load($order->getCouponCode(), 'code'); - if (!$this->coupon->getId()) { - return; - } - - $this->coupon->setTimesUsed($this->coupon->getTimesUsed() - 1); - $this->coupon->save(); - - $customerId = $order->getCustomerId(); - if ($customerId) { - $this->couponUsage->updateCustomerCouponTimesUsed($customerId, $this->coupon->getId(), false); - } - } - /** * It is possible that the order is cancelled in process A, and we are checking here in process B. So always check * the latest status in the database so we are sure we have the most recent status available.