diff --git a/Model/SendPurchaseEvent.php b/Model/SendPurchaseEvent.php index ac091be..9fd37b5 100644 --- a/Model/SendPurchaseEvent.php +++ b/Model/SendPurchaseEvent.php @@ -46,9 +46,11 @@ public function execute(Order $order, string $eventName = 'unknown') $orderStoreId = $order->getStoreId(); $gaUserDatabaseId = $order->getId(); + $field = 'order_id'; if (!$gaUserDatabaseId) { $gaUserDatabaseId = $order->getQuoteId(); + $field = 'quote_id'; } if (!$gaUserDatabaseId) { @@ -63,7 +65,7 @@ public function execute(Order $order, string $eventName = 'unknown') return; } - $elgentosSalesOrder = $this->getElgentosSalesOrder($gaUserDatabaseId); + $elgentosSalesOrder = $this->getElgentosSalesOrder($gaUserDatabaseId, $field); if (!$elgentosSalesOrder) { $this->emulation->stopEnvironmentEmulation(); @@ -121,17 +123,14 @@ public function execute(Order $order, string $eventName = 'unknown') $this->emulation->stopEnvironmentEmulation(); } - protected function getElgentosSalesOrder($gaUserDatabaseId): ?SalesOrder + protected function getElgentosSalesOrder($gaUserDatabaseId, $field = 'order_id'): ?SalesOrder { $elgentosSalesOrderCollection = $this->elgentosSalesOrderCollectionFactory->create(); /** @var SalesOrder $elgentosSalesOrder */ $elgentosSalesOrder = $elgentosSalesOrderCollection ->addFieldToFilter( - ['quote_id', 'order_id'], - [ - ['eq' => $gaUserDatabaseId], - ['eq' => $gaUserDatabaseId] - ] + $field, + $gaUserDatabaseId ) ->getFirstItem();