diff --git a/vendor/magento/module-sales-rule/Model/Rule/Action/Discount/ByFixed.php b/vendor/magento/module-sales-rule/Model/Rule/Action/Discount/ByFixed.php index 2ad935247a8..b067e27838e 100644 --- a/vendor/magento/module-sales-rule/Model/Rule/Action/Discount/ByFixed.php +++ b/vendor/magento/module-sales-rule/Model/Rule/Action/Discount/ByFixed.php @@ -27,8 +27,9 @@ class ByFixed extends AbstractDiscount $itemPrice = $this->validator->getItemPrice($item); $baseItemPrice = $this->validator->getItemBasePrice($item); - $discountAmountMin = min(($itemPrice * $qty) - $itemDiscountAmount, $discountAmount * $qty); - $baseDiscountAmountMin = min(($baseItemPrice * $qty) - $itemBaseDiscountAmount, $baseDiscountAmount * $qty); + $discountAmountMin = min(($itemPrice * $item->getQty()) - $itemDiscountAmount, $discountAmount * $qty); + $baseDiscountAmountMin = + min(($baseItemPrice * $item->getQty()) - $itemBaseDiscountAmount, $baseDiscountAmount * $qty); $discountData->setAmount($discountAmountMin); $discountData->setBaseAmount($baseDiscountAmountMin); diff --git a/vendor/magento/module-sales-rule/Model/Utility.php b/vendor/magento/module-sales-rule/Model/Utility.php index e625d816191..1218a15970e 100644 --- a/vendor/magento/module-sales-rule/Model/Utility.php +++ b/vendor/magento/module-sales-rule/Model/Utility.php @@ -13,6 +13,9 @@ use Magento\Quote\Model\Quote\Address; use Magento\SalesRule\Model\ResourceModel\Coupon\UsageFactory; use Magento\SalesRule\Model\Rule\CustomerFactory; +/** + * @SuppressWarnings(PHPMD.CouplingBetweenObjects) + */ class Utility { /** @@ -133,13 +136,11 @@ class Utility * * @param \Magento\SalesRule\Model\Rule\Action\Discount\Data $discountData * @param \Magento\Quote\Model\Quote\Item\AbstractItem $item - * @param float $qty * @return void */ public function minFix( \Magento\SalesRule\Model\Rule\Action\Discount\Data $discountData, - \Magento\Quote\Model\Quote\Item\AbstractItem $item, - $qty + \Magento\Quote\Model\Quote\Item\AbstractItem $item ) { $itemPrice = $this->getItemPrice($item); $baseItemPrice = $this->getItemBasePrice($item); @@ -147,8 +148,9 @@ class Utility $itemDiscountAmount = $item->getDiscountAmount(); $itemBaseDiscountAmount = $item->getBaseDiscountAmount(); - $discountAmount = min($itemDiscountAmount + $discountData->getAmount(), $itemPrice * $qty); - $baseDiscountAmount = min($itemBaseDiscountAmount + $discountData->getBaseAmount(), $baseItemPrice * $qty); + $discountAmount = min($itemDiscountAmount + $discountData->getAmount(), $itemPrice * $item->getQty()); + $baseDiscountAmount = + min($itemBaseDiscountAmount + $discountData->getBaseAmount(), $baseItemPrice * $item->getQty()); $discountData->setAmount($discountAmount); $discountData->setBaseAmount($baseDiscountAmount);