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)