From c259af6ea65df433dc1daf667c9682f294443308 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=84=8B=E1=85=B5=E1=84=92=E1=85=A1=E1=84=8C=E1=85=B5?= =?UTF-8?q?=E1=86=AB?= Date: Sun, 15 Jun 2025 17:22:20 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EC=B2=AB=EC=9D=B8=EC=83=81=20=EC=97=86?= =?UTF-8?q?=EC=9C=BC=EB=A9=B4=20=EB=82=98=EC=9D=98=EC=B1=85=20=EC=95=88?= =?UTF-8?q?=EB=9C=A8=EB=8A=94=20=EC=98=A4=EB=A5=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/mybook/repository/MyBookRepository.java | 8 +++----- .../domain/mybook/service/MyBookServiceImpl.java | 10 ++++++++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/ikdaman/domain/mybook/repository/MyBookRepository.java b/src/main/java/com/ikdaman/domain/mybook/repository/MyBookRepository.java index 5ce310b..629f110 100644 --- a/src/main/java/com/ikdaman/domain/mybook/repository/MyBookRepository.java +++ b/src/main/java/com/ikdaman/domain/mybook/repository/MyBookRepository.java @@ -93,8 +93,7 @@ Page searchMyBooksWithoutMemberId( LEFT JOIN m.book b LEFT JOIN m.bookLogs bl WHERE - (bl.booklogType = 'IMPRESSION' OR bl.booklogType IS NULL) - AND m.isReading = true + m.isReading = true AND m.status = 'ACTIVE' """, countQuery = """ @@ -102,11 +101,10 @@ SELECT COUNT(m) FROM MyBook m LEFT JOIN m.book b LEFT JOIN m.bookLogs bl WHERE - (bl.booklogType = 'IMPRESSION' OR bl.booklogType IS NULL) - AND m.isReading = true + m.isReading = true AND m.status = 'ACTIVE' """ ) - List findByMemberIdAndIsReadingWithoutMemberId(); + List findAllActiveReadingBooks(); } 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 0e39044..9cec08a 100644 --- a/src/main/java/com/ikdaman/domain/mybook/service/MyBookServiceImpl.java +++ b/src/main/java/com/ikdaman/domain/mybook/service/MyBookServiceImpl.java @@ -199,7 +199,7 @@ public InProgressBooksRes searchInProgressBooks() { //UUID memberId = request.getMemberId(); //UUID memberId = UUID.fromString("d290f1ee-6c54-4b01-90e6-d701748f0851"); - List myBooks = myBookRepository.findByMemberIdAndIsReadingWithoutMemberId(); + List myBooks = myBookRepository.findAllActiveReadingBooks(); List bookDtos = myBooks.stream() .map(myBook -> { @@ -208,13 +208,19 @@ public InProgressBooksRes searchInProgressBooks() { .map(author -> author.getWriter().getWriterName()) .collect(Collectors.joining(", ")); // 여러 작가면 ,로 구분 + String firstImpression = myBook.getBookLogs().stream() + .filter(bookLog -> bookLog.getBooklogType().equals("IMPRESSION")) + .findFirst() + .map(BookLog::getContent) + .orElse(null); + return InProgressBooksRes.BookDto.builder() .mybookId(myBook.getMybookId()) .title(book.getTitle()) .author(authorNames) .coverImage(book.getCoverImage()) .progress(String.format("%d", myBook.getNowPage() * 100 / book.getPage())) - .firstImpression(myBook.getBookLogs().isEmpty() ? null : myBook.getBookLogs().get(0).getContent()) + .firstImpression(firstImpression) .recentEdit(String.valueOf(myBook.getUpdatedAt())) .build(); })