From a4623b8313575975fc1b5cb11089ae7630f78ed1 Mon Sep 17 00:00:00 2001 From: Nuttapat Naothaworn Date: Sun, 31 Mar 2024 11:04:08 +0700 Subject: [PATCH] add Story4 --- .../kampus/kbazaar/cart/CartRepository.java | 8 +++ .../com/kampus/kbazaar/cart/CartService.java | 50 +++++++++++++++++++ .../kbazaar/cartItem/CartItemRepository.java | 13 +++++ .../kbazaar/cartItem/CartItemService.java | 22 ++++++++ 4 files changed, 93 insertions(+) create mode 100644 kbazaar/src/main/java/com/kampus/kbazaar/cart/CartRepository.java create mode 100644 kbazaar/src/main/java/com/kampus/kbazaar/cart/CartService.java create mode 100644 kbazaar/src/main/java/com/kampus/kbazaar/cartItem/CartItemRepository.java create mode 100644 kbazaar/src/main/java/com/kampus/kbazaar/cartItem/CartItemService.java diff --git a/kbazaar/src/main/java/com/kampus/kbazaar/cart/CartRepository.java b/kbazaar/src/main/java/com/kampus/kbazaar/cart/CartRepository.java new file mode 100644 index 0000000..4843cda --- /dev/null +++ b/kbazaar/src/main/java/com/kampus/kbazaar/cart/CartRepository.java @@ -0,0 +1,8 @@ +package com.kampus.kbazaar.cart; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface CartRepository extends JpaRepository { +} diff --git a/kbazaar/src/main/java/com/kampus/kbazaar/cart/CartService.java b/kbazaar/src/main/java/com/kampus/kbazaar/cart/CartService.java new file mode 100644 index 0000000..dfe0567 --- /dev/null +++ b/kbazaar/src/main/java/com/kampus/kbazaar/cart/CartService.java @@ -0,0 +1,50 @@ +package com.kampus.kbazaar.cart; + +import com.kampus.kbazaar.cartItem.CartItem; +import com.kampus.kbazaar.cartItem.CartItemService; +import com.kampus.kbazaar.exceptions.NotFoundException; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; + +@Service +public class CartService { + private CartRepository cartRepository; + private CartItemService cartItemService; + + public CartService(CartRepository cartRepository, CartItemService cartItemService) { + this.cartRepository = cartRepository; + this.cartItemService = cartItemService; + } + + public List getAll(){ + List carts = cartRepository.findAll(); + if(carts.isEmpty()){ + throw new NotFoundException("Cart not found"); + } + +// CartResponse cartResponse = new CartResponse(); + List cartResponseList = new ArrayList(); + for (Cart cart: carts){ + List cartItems = cartItemService.findByUsername(cart.getUsername()); + //Calculate for each username +// BigDecimal discount = 0; +// for (CartItem cartItem: cartItems){ +// +// } + CartResponse cartResponse = new CartResponse( + cart.getUsername(), + cartItems, + cart.getDiscount(), + cart.getTotalDiscount(), + cart.getSubtotal(), + cart.getGrandTotal() + ); + cartResponseList.add(cartResponse); + } + + return cartResponseList; + } +} diff --git a/kbazaar/src/main/java/com/kampus/kbazaar/cartItem/CartItemRepository.java b/kbazaar/src/main/java/com/kampus/kbazaar/cartItem/CartItemRepository.java new file mode 100644 index 0000000..59be1e9 --- /dev/null +++ b/kbazaar/src/main/java/com/kampus/kbazaar/cartItem/CartItemRepository.java @@ -0,0 +1,13 @@ +package com.kampus.kbazaar.cartItem; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +import java.util.List; +import java.util.Optional; + +@Repository +public interface CartItemRepository extends JpaRepository { + + List findAllByUsername(String username); +} diff --git a/kbazaar/src/main/java/com/kampus/kbazaar/cartItem/CartItemService.java b/kbazaar/src/main/java/com/kampus/kbazaar/cartItem/CartItemService.java new file mode 100644 index 0000000..b9dc2c0 --- /dev/null +++ b/kbazaar/src/main/java/com/kampus/kbazaar/cartItem/CartItemService.java @@ -0,0 +1,22 @@ +package com.kampus.kbazaar.cartItem; + +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class CartItemService { + private CartItemRepository cartItemRepository; + + public CartItemService(CartItemRepository cartItemRepository) { + this.cartItemRepository = cartItemRepository; + } + + public List getAll(){ + return cartItemRepository.findAll(); + } + + public List findByUsername(String username) { + return cartItemRepository.findAllByUsername(username); + } +}