File tree Expand file tree Collapse file tree 1 file changed +24
-3
lines changed
app/code/Magento/Sales/Model/Order/Webapi Expand file tree Collapse file tree 1 file changed +24
-3
lines changed Original file line number Diff line number Diff line change 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 */
66declare (strict_types=1 );
77
1010use Magento \Sales \Api \Data \OrderItemInterface ;
1111use Magento \Sales \Block \Adminhtml \Items \Column \DefaultColumn ;
1212use 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}
You can’t perform that action at this time.
0 commit comments