Files
2026-09-15 10:35:56 +08:00

18 lines
825 B
PHP

<?php
declare(strict_types=1);
namespace Esun\Reward\Observer;
use Magento\Framework\Event\Observer;
use Magento\Framework\Event\ObserverInterface;
class CopyRewardToOrder implements ObserverInterface
{
public function execute(Observer $observer): void
{
$quote = $observer->getEvent()->getQuote(); $order = $observer->getEvent()->getOrder();
foreach (['reward_points_used', 'reward_product_points', 'reward_discount_amount', 'base_reward_discount_amount'] as $field) { $order->setData($field, $quote->getData($field)); }
foreach ($quote->getAllItems() as $quoteItem) { if ($quoteItem->getOrderItem()) { $quoteItem->getOrderItem()->setData('reward_redemption', $quoteItem->getData('reward_redemption'))->setData('reward_points_cost', $quoteItem->getData('reward_points_cost')); } }
}
}