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 2d49287..cc10b3f 100644 --- a/src/main/java/com/ikdaman/domain/mybook/service/MyBookServiceImpl.java +++ b/src/main/java/com/ikdaman/domain/mybook/service/MyBookServiceImpl.java @@ -200,7 +200,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 -> { @@ -209,13 +209,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(); })