Files
esun3d/app/code/Esun/OrderNumber/Plugin/SalesSequenceManagerPlugin.php
2026-09-15 10:35:56 +08:00

35 lines
943 B
PHP

<?php
declare(strict_types=1);
namespace Esun\OrderNumber\Plugin;
use Esun\OrderNumber\Model\WebsiteSequenceFactory;
use Magento\Framework\DB\Sequence\SequenceInterface;
use Magento\Sales\Model\Order;
use Magento\SalesSequence\Model\Manager;
use Magento\Store\Model\StoreManagerInterface;
class SalesSequenceManagerPlugin
{
public function __construct(
private readonly StoreManagerInterface $storeManager,
private readonly WebsiteSequenceFactory $websiteSequenceFactory
) {
}
public function afterGetSequence(
Manager $subject,
SequenceInterface $result,
string $entityType,
int $storeId
): SequenceInterface {
if ($entityType !== Order::ENTITY) {
return $result;
}
$websiteId = (int)$this->storeManager->getStore($storeId)->getWebsiteId();
return $this->websiteSequenceFactory->create(['websiteId' => $websiteId]);
}
}