Skip to content

Commit 7da46f5

Browse files
authored
Merge pull request #9838 from magento-gl/spartans_pr_04062025
[Spartans] BugFixes Delivery
2 parents 98b2848 + adb8a67 commit 7da46f5

File tree

1 file changed

+24
-3
lines changed

1 file changed

+24
-3
lines changed

app/code/Magento/Sales/Model/Order/Webapi/ChangeOutputArray.php

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?php
22
/**
3-
* Copyright © Magento, Inc. All rights reserved.
4-
* See COPYING.txt for license details.
3+
* Copyright 2014 Adobe
4+
* All Rights Reserved.
55
*/
66
declare(strict_types=1);
77

@@ -10,6 +10,7 @@
1010
use Magento\Sales\Api\Data\OrderItemInterface;
1111
use Magento\Sales\Block\Adminhtml\Items\Column\DefaultColumn;
1212
use Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer;
13+
use Magento\Bundle\Model\Product\Type;
1314

1415
/**
1516
* Class for changing row total in response.
@@ -62,7 +63,7 @@ public function execute(
6263
+ $dataObject->getBaseWeeeTaxAppliedAmount()
6364
- $dataObject->getBaseDiscountAmount());
6465

65-
return $result;
66+
return $this->getBundleProductPrice($result);
6667
}
6768

6869
/**
@@ -75,4 +76,24 @@ private function round(float $value): float
7576
{
7677
return (float) max($value, 0);
7778
}
79+
80+
/**
81+
* Get bundle product price if miss in child item
82+
*
83+
* @param array $result
84+
* @return array
85+
*/
86+
private function getBundleProductPrice(array $result): array
87+
{
88+
if (isset($result[OrderItemInterface::PRICE], $result[OrderItemInterface::PARENT_ITEM]) &&
89+
$result[OrderItemInterface::PRICE] == 0
90+
) {
91+
if ($result[OrderItemInterface::PARENT_ITEM][OrderItemInterface::PRODUCT_TYPE] == Type::TYPE_CODE) {
92+
$result[OrderItemInterface::PRICE] =
93+
$result[OrderItemInterface::PARENT_ITEM][OrderItemInterface::PRICE];
94+
}
95+
}
96+
97+
return $result;
98+
}
7899
}

0 commit comments

Comments
 (0)