From 9fa2c1f3a7519730cebb51e1ff083ce2bb164aec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20F=C3=BCrderer?= Date: Sat, 13 Jun 2020 11:46:16 +0200 Subject: [PATCH] Allow partial discount on supplier orders Closes #46 --- .../org/hso/ecommerce/supplier/RequestController.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/supplier/src/main/java/org/hso/ecommerce/supplier/RequestController.java b/supplier/src/main/java/org/hso/ecommerce/supplier/RequestController.java index 239a8ac..013daaa 100644 --- a/supplier/src/main/java/org/hso/ecommerce/supplier/RequestController.java +++ b/supplier/src/main/java/org/hso/ecommerce/supplier/RequestController.java @@ -62,10 +62,15 @@ public class RequestController { } int priceNet = a.pricePerUnitNet * order.quantity; - int discount = 0; - if(dailyVolume >= s.discount.minimumDailySalesVolumeNetCent) { - discount = (priceNet * s.discount.percentDiscount) / 100; + int discountableNetAmount = 0; + if (dailyVolume >= s.discount.minimumDailySalesVolumeNetCent) { + // grant discount on the full price + discountableNetAmount = priceNet; + } else if (dailyVolume + priceNet > s.discount.minimumDailySalesVolumeNetCent) { + // grant partial discount + discountableNetAmount = dailyVolume + priceNet - s.discount.minimumDailySalesVolumeNetCent; } + int discount = (discountableNetAmount * s.discount.percentDiscount) / 100; OrderConfirmation confirmation = new OrderConfirmation(); confirmation.articleNumber = order.articleNumber;