Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/old/vendor/magento/module-sales/Model/Order/Webapi/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //home/corals/old/vendor/magento/module-sales/Model/Order/Webapi/ChangeOutputArray.php
<?php
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */
declare(strict_types=1);

namespace Magento\Sales\Model\Order\Webapi;

use Magento\Sales\Api\Data\OrderItemInterface;
use Magento\Sales\Block\Adminhtml\Items\Column\DefaultColumn;
use Magento\Sales\Block\Order\Item\Renderer\DefaultRenderer;

/**
 * Class for changing row total in response.
 */
class ChangeOutputArray
{
    /**
     * @var DefaultColumn
     */
    private $priceRenderer;

    /**
     * @var DefaultRenderer
     */
    private $defaultRenderer;

    /**
     * @param DefaultColumn $priceRenderer
     * @param DefaultRenderer $defaultRenderer
     */
    public function __construct(
        DefaultColumn $priceRenderer,
        DefaultRenderer $defaultRenderer
    ) {
        $this->priceRenderer = $priceRenderer;
        $this->defaultRenderer = $defaultRenderer;
    }

    /**
     * Changing row total for webapi order item response.
     *
     * @param OrderItemInterface $dataObject
     * @param array $result
     * @return array
     */
    public function execute(
        OrderItemInterface $dataObject,
        array $result
    ): array {
        $result[OrderItemInterface::ROW_TOTAL] = $this->round($this->priceRenderer->getTotalAmount($dataObject));
        $result[OrderItemInterface::BASE_ROW_TOTAL] = $this->round(
            $this->priceRenderer->getBaseTotalAmount($dataObject)
        );
        $result[OrderItemInterface::ROW_TOTAL_INCL_TAX] = $this->round(
            $this->defaultRenderer->getTotalAmount($dataObject)
        );
        $result[OrderItemInterface::BASE_ROW_TOTAL_INCL_TAX] = $this->round($dataObject->getBaseRowTotal()
            + $dataObject->getBaseTaxAmount()
            + $dataObject->getBaseDiscountTaxCompensationAmount()
            + $dataObject->getBaseWeeeTaxAppliedAmount()
            - $dataObject->getBaseDiscountAmount());

        return $result;
    }

    /**
     * Remove negative values from row totals
     *
     * @param float $value
     * @return float
     */
    private function round(float $value): float
    {
        return (float) max($value, 0);
    }
}

Spamworldpro Mini