18 lines
825 B
PHP
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')); } }
|
|
}
|
|
}
|