From 5b191e04f1e345e1b38ec623fef8e8f22c1c6c92 Mon Sep 17 00:00:00 2001 From: sonshn Date: Mon, 15 Sep 2025 23:09:31 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EB=82=98=EC=9D=98=20=EC=B1=85=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80(=EC=A4=91=EB=B3=B5=20=EB=93=B1=EB=A1=9D=20?= =?UTF-8?q?=EC=98=88=EC=99=B8=20=EC=B2=98=EB=A6=AC=20=EB=B3=B5=EA=B5=AC)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ikdaman/domain/mybook/service/MyBookServiceImpl.java | 5 +++++ src/main/java/com/ikdaman/global/exception/ErrorCode.java | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/ikdaman/domain/mybook/service/MyBookServiceImpl.java b/src/main/java/com/ikdaman/domain/mybook/service/MyBookServiceImpl.java index 95629d3..f190eee 100644 --- a/src/main/java/com/ikdaman/domain/mybook/service/MyBookServiceImpl.java +++ b/src/main/java/com/ikdaman/domain/mybook/service/MyBookServiceImpl.java @@ -80,6 +80,11 @@ public MyBookRes addMyBook(UUID memberId, MyBookReq dto) { .build()); } + // 한 사용자가 책장에 같은 책을 중복으로 저장할 수 없음 + if(myBookRepository.existsMyBookByMemberIdAndBook(memberId, book)) { + throw new BaseException(MY_BOOK_ALREADY_EXISTS); + } + MyBook myBook = MyBook.builder() .memberId(memberId) .book(book) diff --git a/src/main/java/com/ikdaman/global/exception/ErrorCode.java b/src/main/java/com/ikdaman/global/exception/ErrorCode.java index 1fbfead..c1d574b 100644 --- a/src/main/java/com/ikdaman/global/exception/ErrorCode.java +++ b/src/main/java/com/ikdaman/global/exception/ErrorCode.java @@ -75,7 +75,7 @@ public enum ErrorCode { CONFLICT_NICKNAME(HttpStatus.CONFLICT.value(), 4090201, "사용중인 닉네임입니다."), // MyBook(03) NOT_FOUND_MY_BOOK(HttpStatus.NOT_FOUND.value(), 4040301,"해당 MyBook을 찾을 수 없습니다."), - MY_BOOK_ALREADY_EXISTS(HttpStatus.CONFLICT.value(), 4090302, "이미 책장에 추가된 책입니다."), + MY_BOOK_ALREADY_EXISTS(HttpStatus.CONFLICT.value(), 4090302, "이미 가지고 있는 책이에요!"), // Notice(04)