From 5e47c5b2af3d6853aae301f9e6d6e101d40e71b8 Mon Sep 17 00:00:00 2001 From: Prashant Singh Date: Fri, 6 Sep 2019 12:37:46 +0530 Subject: [PATCH] More refactoring of discount assign to cart item --- .../Discount/src/Actions/Cart/FixedAmount.php | 16 +++++----------- .../src/Actions/Cart/PercentOfProduct.php | 4 ++-- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/packages/Webkul/Discount/src/Actions/Cart/FixedAmount.php b/packages/Webkul/Discount/src/Actions/Cart/FixedAmount.php index 7c9132f17..d6da32bb9 100644 --- a/packages/Webkul/Discount/src/Actions/Cart/FixedAmount.php +++ b/packages/Webkul/Discount/src/Actions/Cart/FixedAmount.php @@ -51,12 +51,6 @@ class FixedAmount extends Action $discQuantity = $itemQuantity <= $discQuantity ? $itemQuantity : $discQuantity; - if ($rule->disc_amount >= $itemPrice) { - $discount = round($itemPrice * $discQuantity, 4); - } else { - $discount = $rule->disc_amount; - } - $totalDiscount = $totalDiscount + $discount; $report = array(); @@ -64,11 +58,11 @@ class FixedAmount extends Action $report['item_id'] = $item->id; $report['product_id'] = $item->child ? $item->child->product_id : $item->product_id; - if ($discount <= $itemPrice) { - $report['discount'] = $discount; - } else { - $report['discount'] = $itemPrice; - } + $discount = round($itemPrice * $discQuantity, 4); + + $discount = $discount <= $itemPrice ? $discount : $itemPrice; + + $report['discount'] = $discount; $report['formatted_discount'] = core()->currency($discount); diff --git a/packages/Webkul/Discount/src/Actions/Cart/PercentOfProduct.php b/packages/Webkul/Discount/src/Actions/Cart/PercentOfProduct.php index 39a7b8581..7eb3c2653 100644 --- a/packages/Webkul/Discount/src/Actions/Cart/PercentOfProduct.php +++ b/packages/Webkul/Discount/src/Actions/Cart/PercentOfProduct.php @@ -58,13 +58,13 @@ class PercentOfProduct extends Action $discQuantity = $itemQuantity <= $discQuantity ? $itemQuantity : $discQuantity; - $discount = round(($itemPrice * $rule->disc_amount) / 100, 4); - $report = array(); $report['item_id'] = $item->id; $report['product_id'] = $item->child ? $item->child->product_id : $item->product_id; + $discount = round(($itemPrice * $rule->disc_amount) / 100, 4); + $discount = $discount <= $itemPrice ? $discount : $itemPrice; $report['discount'] = $discount;