![]() 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/cartforge.co/vendor/magento/module-catalog/Pricing/Price/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Catalog\Pricing\Price; use Magento\Catalog\Model\Product; use Magento\Framework\Pricing\Price\AbstractPrice; /** * Final price model * * @api */ class FinalPrice extends AbstractPrice implements FinalPriceInterface { /** * Price type final */ const PRICE_CODE = 'final_price'; /** * @var BasePrice */ private $basePrice; /** * @var \Magento\Framework\Pricing\Amount\AmountInterface */ protected $minimalPrice; /** * @var \Magento\Framework\Pricing\Amount\AmountInterface */ protected $maximalPrice; /** * Get Value * * @return float|bool */ public function getValue() { return max(0, $this->getBasePrice()->getValue()); } /** * Get Minimal Price Amount * * @return \Magento\Framework\Pricing\Amount\AmountInterface */ public function getMinimalPrice() { if (!$this->minimalPrice) { $minimalPrice = $this->product->getMinimalPrice(); if ($minimalPrice === null) { $minimalPrice = $this->getValue(); } else { $minimalPrice = $this->priceCurrency->convertAndRound($minimalPrice); } $this->minimalPrice = $this->calculator->getAmount($minimalPrice, $this->product); } return $this->minimalPrice; } /** * Get Maximal Price Amount * * @return \Magento\Framework\Pricing\Amount\AmountInterface */ public function getMaximalPrice() { if (!$this->maximalPrice) { $maximalPrice = $this->product->getMaximalPrice(); if ($maximalPrice === null) { $maximalPrice = $this->getValue(); } else { $maximalPrice = $this->priceCurrency->convertAndRound($maximalPrice); } $this->maximalPrice = $this->calculator->getAmount($maximalPrice, $this->product); } return $this->maximalPrice; } /** * Retrieve base price instance lazily * * @return BasePrice|\Magento\Framework\Pricing\Price\PriceInterface */ protected function getBasePrice() { if (!$this->basePrice) { $this->basePrice = $this->priceInfo->getPrice(BasePrice::PRICE_CODE); } return $this->basePrice; } }