From 19c9e5b1410564fb06fa51b87a456747de2d5cb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=95=88=EC=A0=95=ED=9B=84?= Date: Wed, 24 Jul 2024 13:58:04 +0900 Subject: [PATCH] feat: cart error-fix core-module --- .../likelion/coremodule/cart/domain/Cart.java | 6 ++++- .../cart/exception/CartErrorCode.java | 24 +++++++++++++++++++ .../cart/exception/CartException.java | 22 +++++++++++++++++ .../cart/repository/CartRepository.java | 4 ++++ .../cart/service/CartQueryService.java | 8 +++++++ 5 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 core-module/src/main/java/com/likelion/coremodule/cart/exception/CartErrorCode.java create mode 100644 core-module/src/main/java/com/likelion/coremodule/cart/exception/CartException.java diff --git a/core-module/src/main/java/com/likelion/coremodule/cart/domain/Cart.java b/core-module/src/main/java/com/likelion/coremodule/cart/domain/Cart.java index fb35c5c..8171b93 100644 --- a/core-module/src/main/java/com/likelion/coremodule/cart/domain/Cart.java +++ b/core-module/src/main/java/com/likelion/coremodule/cart/domain/Cart.java @@ -13,7 +13,7 @@ public class Cart { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "item_id") + @Column(name = "cart_id") private Long id; @ManyToOne(fetch = FetchType.LAZY) @@ -25,4 +25,8 @@ public class Cart { private Menu menu; private Integer quantity; + + public void setCartQuantity(Integer quantity) { + this.quantity = quantity; + } } diff --git a/core-module/src/main/java/com/likelion/coremodule/cart/exception/CartErrorCode.java b/core-module/src/main/java/com/likelion/coremodule/cart/exception/CartErrorCode.java new file mode 100644 index 0000000..760ad4c --- /dev/null +++ b/core-module/src/main/java/com/likelion/coremodule/cart/exception/CartErrorCode.java @@ -0,0 +1,24 @@ +package com.likelion.coremodule.cart.exception; + +import com.likelion.commonmodule.exception.common.ApiResponse; +import com.likelion.commonmodule.exception.common.BaseErrorCode; +import lombok.AllArgsConstructor; +import lombok.Getter; +import org.springframework.http.HttpStatus; + +@Getter +@AllArgsConstructor +public enum CartErrorCode implements BaseErrorCode { + + NO_CART_INFO(HttpStatus.BAD_REQUEST, "2000", "장바구니 안에 상품이 존재하지 않습니다."); + + private final HttpStatus httpStatus; + private final String code; + private final String message; + + + @Override + public ApiResponse getErrorResponse() { + return null; + } +} diff --git a/core-module/src/main/java/com/likelion/coremodule/cart/exception/CartException.java b/core-module/src/main/java/com/likelion/coremodule/cart/exception/CartException.java new file mode 100644 index 0000000..1709162 --- /dev/null +++ b/core-module/src/main/java/com/likelion/coremodule/cart/exception/CartException.java @@ -0,0 +1,22 @@ +package com.likelion.coremodule.cart.exception; + +import com.likelion.commonmodule.exception.common.BaseErrorCode; +import lombok.Getter; + +@Getter +public class CartException extends RuntimeException { + + private final BaseErrorCode errorCode; + + private final Throwable cause; + + public CartException(BaseErrorCode errorCode) { + this.errorCode = errorCode; + this.cause = null; + } + + public CartException(BaseErrorCode errorCode, Throwable cause) { + this.errorCode = errorCode; + this.cause = cause; + } +} \ No newline at end of file diff --git a/core-module/src/main/java/com/likelion/coremodule/cart/repository/CartRepository.java b/core-module/src/main/java/com/likelion/coremodule/cart/repository/CartRepository.java index 5c614cd..a9da55e 100644 --- a/core-module/src/main/java/com/likelion/coremodule/cart/repository/CartRepository.java +++ b/core-module/src/main/java/com/likelion/coremodule/cart/repository/CartRepository.java @@ -9,5 +9,9 @@ public interface CartRepository extends JpaRepository { List findCartsByUserUserId(Long userId); + int countCartsByUserUserIdAndMenuId(Long userId, Long menuId); + + Cart findCartByUserUserIdAndId(Long userId, Long cartId); + void deleteCartByIdAndUserUserId(Long cartId, Long userId); } diff --git a/core-module/src/main/java/com/likelion/coremodule/cart/service/CartQueryService.java b/core-module/src/main/java/com/likelion/coremodule/cart/service/CartQueryService.java index ea680c0..ed404e0 100644 --- a/core-module/src/main/java/com/likelion/coremodule/cart/service/CartQueryService.java +++ b/core-module/src/main/java/com/likelion/coremodule/cart/service/CartQueryService.java @@ -21,6 +21,14 @@ public List findCartsByUserId(Long userId) { return cartRepository.findCartsByUserUserId(userId); } + public int findCartByUserIdAndMenuId(Long userId, Long menuId) { + return cartRepository.countCartsByUserUserIdAndMenuId(userId, menuId); + } + + public Cart findCartByUserIdAndCartId(Long userId, Long cartId) { + return cartRepository.findCartByUserUserIdAndId(userId, cartId); + } + public void deleteCartByUserIdAndCartId(Long userId, Long cartId) { cartRepository.deleteCartByIdAndUserUserId(cartId, userId);