|
20 | 20 |
|
21 | 21 | namespace Meta\Sales\Plugin;
|
22 | 22 |
|
23 |
| -use Meta\Sales\Api\Data\FacebookOrderInterfaceFactory; |
24 |
| -use Magento\Sales\Api\Data\OrderExtensionFactory; |
| 23 | +use Exception; |
25 | 24 | use Magento\Sales\Api\Data\OrderInterface;
|
26 | 25 | use Magento\Sales\Api\OrderRepositoryInterface;
|
| 26 | +use Magento\Sales\Model\ResourceModel\Order\Collection as OrderCollection; |
| 27 | +use Meta\Sales\Helper\OrderHelper; |
| 28 | +use Psr\Log\LoggerInterface; |
27 | 29 |
|
28 | 30 | class OrderGet
|
29 | 31 | {
|
30 | 32 | /**
|
31 |
| - * @var OrderExtensionFactory |
| 33 | + * @var OrderHelper |
32 | 34 | */
|
33 |
| - private $orderExtensionFactory; |
| 35 | + private OrderHelper $orderHelper; |
34 | 36 |
|
35 | 37 | /**
|
36 |
| - * @var FacebookOrderInterfaceFactory |
| 38 | + * @var LoggerInterface |
37 | 39 | */
|
38 |
| - private $facebookOrderFactory; |
| 40 | + private LoggerInterface $logger; |
39 | 41 |
|
40 | 42 | /**
|
41 |
| - * @param OrderExtensionFactory $orderExtensionFactory |
42 |
| - * @param FacebookOrderInterfaceFactory $facebookOrderFactory |
| 43 | + * @param OrderHelper $orderHelper |
| 44 | + * @param LoggerInterface $logger |
43 | 45 | */
|
44 | 46 | public function __construct(
|
45 |
| - OrderExtensionFactory $orderExtensionFactory, |
46 |
| - FacebookOrderInterfaceFactory $facebookOrderFactory |
| 47 | + OrderHelper $orderHelper, |
| 48 | + LoggerInterface $logger |
47 | 49 | ) {
|
48 |
| - $this->orderExtensionFactory = $orderExtensionFactory; |
49 |
| - $this->facebookOrderFactory = $facebookOrderFactory; |
| 50 | + $this->orderHelper = $orderHelper; |
| 51 | + $this->logger = $logger; |
50 | 52 | }
|
51 | 53 |
|
52 | 54 | /**
|
53 |
| - * After get order plugin |
| 55 | + * After get order collection plugin |
54 | 56 | *
|
55 | 57 | * @param OrderRepositoryInterface $subject
|
56 |
| - * @param OrderInterface $order |
57 |
| - * @return OrderInterface |
| 58 | + * @param OrderCollection $orderCollection |
| 59 | + * @return OrderCollection |
58 | 60 | *
|
59 | 61 | * @SuppressWarnings(PHPMD.UnusedFormalParameter) $subject
|
60 | 62 | */
|
61 |
| - public function afterGet(OrderRepositoryInterface $subject, OrderInterface $order) |
| 63 | + public function afterGetList(OrderRepositoryInterface $subject, OrderCollection $orderCollection) |
62 | 64 | {
|
63 |
| - $facebookOrder = $this->facebookOrderFactory->create(); |
64 |
| - $facebookOrder->load($order->getId(), 'magento_order_id'); |
65 |
| - |
66 |
| - $emailRemarketingOption = ($facebookOrder->getExtraData()['email_remarketing_option'] ?? false) === true; |
67 |
| - |
68 |
| - if ($facebookOrder->getId()) { |
69 |
| - $extensionAttributes = $order->getExtensionAttributes() ?: $this->orderExtensionFactory->create(); |
70 |
| - $extensionAttributes->setFacebookOrderId($facebookOrder->getFacebookOrderId()) |
71 |
| - ->setChannel($facebookOrder->getChannel()) |
72 |
| - ->setEmailRemarketingOption($emailRemarketingOption); |
73 |
| - $order->setExtensionAttributes($extensionAttributes); |
| 65 | + try { |
| 66 | + foreach ($orderCollection->getItems() as $order) { |
| 67 | + /** @var OrderInterface $order */ |
| 68 | + $this->orderHelper->setFacebookOrderExtensionAttributes($order); |
| 69 | + } |
| 70 | + } catch (Exception $e) { |
| 71 | + $this->logger->critical($e); |
74 | 72 | }
|
75 |
| - |
76 |
| - return $order; |
| 73 | + return $orderCollection; |
77 | 74 | }
|
78 | 75 | }
|
0 commit comments