Skip to content

Commit b78f6d9

Browse files
nrostrow-metaNoah Ostrowski
andauthored
Modifying manual order sync logic to not display orders cancelled on Meta before they were created on Magento (#678)
Co-authored-by: Noah Ostrowski <[email protected]>
1 parent c4c3d60 commit b78f6d9

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

app/code/Meta/Sales/Helper/CommerceHelper.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -373,8 +373,10 @@ public function pullCancelledOrders(int $storeId): array
373373
// Get cancellation details for each order (assuming a method exists in GraphAPIAdapter)
374374
$cancellationDetails = $this->graphAPIAdapter->getCancellations($facebookOrderId)[0];
375375
// Process cancellations (you would need to create a method to handle this)
376-
$this->createCancellation->execute($orderData, $cancellationDetails, $storeId);
377-
$cancelledOrdersDetails[$facebookOrderId] = $cancellationDetails;
376+
$wasOrderCancelled = $this->createCancellation->execute($orderData, $cancellationDetails, $storeId);
377+
if ($wasOrderCancelled) {
378+
$cancelledOrdersDetails[$facebookOrderId] = $cancellationDetails;
379+
}
378380
} catch (Exception $e) {
379381
$this->exceptions[] = $e->getMessage();
380382
$this->fbeHelper->logExceptionImmediatelyToMeta(

app/code/Meta/Sales/Model/Order/CreateCancellation.php

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,16 +94,17 @@ public function __construct(
9494
*
9595
* @param array $facebookOrderData
9696
* @param array $facebookCancellationData
97+
* @return bool
9798
* @throws LocalizedException
9899
*/
99-
public function execute(array $facebookOrderData, array $facebookCancellationData): void
100+
public function execute(array $facebookOrderData, array $facebookCancellationData): bool
100101
{
101102
$magentoOrder = $this->getOrder($facebookOrderData);
102103
if (!$magentoOrder) {
103-
return;
104+
return false;
104105
}
105106
if ($this->isOrderPartiallyCanceled($magentoOrder)) {
106-
return;
107+
return false;
107108
}
108109
$cancelItems = $facebookCancellationData['items']['data'] ?? [];
109110
$shouldCancelOrder = $this->shouldCancelEntireOrder($magentoOrder, $cancelItems);
@@ -124,6 +125,7 @@ public function execute(array $facebookOrderData, array $facebookCancellationDat
124125
$magentoOrder->addCommentToStatusHistory(self::CANCELLATION_NOTE . $concatenatedString);
125126
}
126127
$this->orderRepository->save($magentoOrder);
128+
return true;
127129
}
128130

129131
/**

0 commit comments

Comments
 (0)