28 lines
745 B
PHP
28 lines
745 B
PHP
<?php
|
|
declare(strict_types=1);
|
|
|
|
namespace Esun\LingxingErp\Observer;
|
|
|
|
use Esun\LingxingErp\Model\Order\CancellationSourceResolver;
|
|
use Magento\Framework\Event\Observer;
|
|
use Magento\Framework\Event\ObserverInterface;
|
|
use Magento\Sales\Model\Order;
|
|
|
|
class RecordOrderCancellation implements ObserverInterface
|
|
{
|
|
public function __construct(private readonly CancellationSourceResolver $sourceResolver)
|
|
{
|
|
}
|
|
|
|
public function execute(Observer $observer): void
|
|
{
|
|
$order = $observer->getEvent()->getOrder();
|
|
if (!$order instanceof Order) {
|
|
return;
|
|
}
|
|
|
|
$source = $this->sourceResolver->resolve();
|
|
$order->addCommentToStatusHistory($this->sourceResolver->getComment($source));
|
|
}
|
|
}
|