![]() 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-bundle/Pricing/Price/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Bundle\Pricing\Price; use Magento\Catalog\Model\Product; /** * Class DiscountCalculator */ class DiscountCalculator { /** * Apply percentage discount * * @param Product $product * @param float|null $value * @return float|null */ public function calculateDiscount(Product $product, $value = null) { if ($value === null) { $value = $product->getPriceInfo()->getPrice(FinalPrice::PRICE_CODE)->getValue(); } $discount = null; foreach ($product->getPriceInfo()->getPrices() as $price) { if ($price instanceof DiscountProviderInterface && $price->getDiscountPercent()) { $discount = min($price->getDiscountPercent(), $discount ?: $price->getDiscountPercent()); } } return (null !== $discount) ? $discount/100 * $value : $value; } }