From 347af351b5776d2280baca8265e397c72f180292 Mon Sep 17 00:00:00 2001 From: Chainarong Boonsangiem <0864713049@outlook.com> Date: Sun, 31 Mar 2024 11:49:39 +0700 Subject: [PATCH] Add Shippin fee --- .../com/kampus/kbazaar/cart/CartResponse.java | 2 +- .../kbazaar/cartitem/CartItemService.java | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/kbazaar/src/main/java/com/kampus/kbazaar/cart/CartResponse.java b/kbazaar/src/main/java/com/kampus/kbazaar/cart/CartResponse.java index fcc2cb1..234c0f5 100644 --- a/kbazaar/src/main/java/com/kampus/kbazaar/cart/CartResponse.java +++ b/kbazaar/src/main/java/com/kampus/kbazaar/cart/CartResponse.java @@ -20,5 +20,5 @@ public class CartResponse { private BigDecimal subtotal; private BigDecimal grandTotal; private String promotionCodes; - private double shippingFee; + private BigDecimal shippingFee; } diff --git a/kbazaar/src/main/java/com/kampus/kbazaar/cartitem/CartItemService.java b/kbazaar/src/main/java/com/kampus/kbazaar/cartitem/CartItemService.java index bd59181..31bcc65 100644 --- a/kbazaar/src/main/java/com/kampus/kbazaar/cartitem/CartItemService.java +++ b/kbazaar/src/main/java/com/kampus/kbazaar/cartitem/CartItemService.java @@ -6,11 +6,16 @@ import java.math.BigDecimal; import java.util.List; import java.util.Optional; + +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; @Service public class CartItemService { + @Value("${enabled.shipping.fee:false}") + private boolean enableShippingFee; + private final CartItemRepository cartItemRepository; private final CartRepository cartRepository; @@ -46,8 +51,18 @@ public CartResponse getCartByUsername(String username) { .map(BigDecimal::new) .reduce(BigDecimal.ZERO, BigDecimal::add)); + // shipping fee + if (enableShippingFee) { + cartResponse.setShippingFee(BigDecimal.valueOf(25)); + } else { + cartResponse.setShippingFee(BigDecimal.valueOf(0)); + } + cartResponse.setGrandTotal( - cartResponse.getSubtotal().subtract(cartResponse.getTotalDiscount())); + cartResponse.getSubtotal() + .subtract(cartResponse.getTotalDiscount()) + .add(cartResponse.getShippingFee()) + ); } else { Cart cart = new Cart();