From 2f05094d9bc89ccec64906a04c3e999df18b64e0 Mon Sep 17 00:00:00 2001 From: zliu7878 <93621930+zliu7878@users.noreply.github.com> Date: Tue, 6 Aug 2024 09:13:24 -0700 Subject: [PATCH] META-334: Fix duplicate bold checkout orders (#302) --- .../PlaceOrder/CreateOrderFromPayload.php | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/Model/Order/PlaceOrder/CreateOrderFromPayload.php b/Model/Order/PlaceOrder/CreateOrderFromPayload.php index bab50c8f..9f235981 100644 --- a/Model/Order/PlaceOrder/CreateOrderFromPayload.php +++ b/Model/Order/PlaceOrder/CreateOrderFromPayload.php @@ -117,16 +117,19 @@ public function createOrder(OrderDataInterface $orderPayload, CartInterface $quo ); $this->addCommentsToOrder->addComments($magentoOrder, $orderPayload); $orderExtensionData = $this->orderExtensionDataFactory->create(); - $orderExtensionData->setPublicId($orderPayload->getPublicId()); - $orderExtensionData->setOrderId((int)$magentoOrder->getId()); - $this->eventManager->dispatch( - 'create_order_from_payload_extension_data_save_before', - [ - 'orderPayload' => $orderPayload, - 'orderExtensionData' => $orderExtensionData, - ] - ); - $this->orderExtensionDataResource->save($orderExtensionData); + $this->orderExtensionDataResource->load($orderExtensionData, (int)$magentoOrder->getId(), 'order_id'); + if (!$orderExtensionData->getPublicId()) { + $orderExtensionData->setPublicId($orderPayload->getPublicId()); + $orderExtensionData->setOrderId((int)$magentoOrder->getId()); + $this->eventManager->dispatch( + 'create_order_from_payload_extension_data_save_before', + [ + 'orderPayload' => $orderPayload, + 'orderExtensionData' => $orderExtensionData, + ] + ); + $this->orderExtensionDataResource->save($orderExtensionData); + } return $magentoOrder; }