From af709721dc4f81a9aed50b6264b6594434ae8b49 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: Thu, 21 Aug 2025 20:32:35 +0900 Subject: [PATCH 1/2] refactor: Update MyBookRepository to include limit parameter and adjust query for active reading books --- .../domain/mybook/repository/MyBookRepository.java | 13 +++---------- .../domain/mybook/service/MyBookServiceImpl.java | 5 ++++- 2 files changed, 7 insertions(+), 11 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 dd0dbbd..7c3f090 100644 --- a/src/main/java/com/ikdaman/domain/mybook/repository/MyBookRepository.java +++ b/src/main/java/com/ikdaman/domain/mybook/repository/MyBookRepository.java @@ -76,18 +76,11 @@ Page searchMyBooks( m.memberId = :memberId AND m.isReading = true AND m.status = 'ACTIVE' - """, - countQuery = """ - SELECT COUNT(m) FROM MyBook m - LEFT JOIN m.book b - LEFT JOIN m.bookLogs bl - WHERE - m.memberId = :memberId - AND m.isReading = true - AND m.status = 'ACTIVE' + ORDER BY m.createdAt DESC + LIMIT :limit """ ) - List findAllActiveReadingBooks(UUID memberId); + List findAllActiveReadingBooks(UUID memberId, Integer limit); boolean existsMyBookByMemberIdAndBook(UUID memberId, Book Book); 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 dd858c4..f190eee 100644 --- a/src/main/java/com/ikdaman/domain/mybook/service/MyBookServiceImpl.java +++ b/src/main/java/com/ikdaman/domain/mybook/service/MyBookServiceImpl.java @@ -47,6 +47,8 @@ public class MyBookServiceImpl implements MyBookService { private final BookLogRepository bookLogRepository; private final MemberRepository memberRepository; + private final int HOME_DEFAULT_LIMIT = 10; + @Override @Transactional public MyBookRes addMyBook(UUID memberId, MyBookReq dto) { @@ -199,7 +201,8 @@ public MyBookSearchRes searchMyBooks(MyBookSearchReq request, AuthMember authMem @Override public InProgressBooksRes searchInProgressBooks(AuthMember authMember) { List myBooks = myBookRepository.findAllActiveReadingBooks( - authMember.getMember().getMemberId() + authMember.getMember().getMemberId(), + HOME_DEFAULT_LIMIT ); List bookDtos = myBooks.stream() From 3d2aa34c1b6be7ad1bcf8e46577f74431a2b1f65 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: Thu, 21 Aug 2025 20:37:26 +0900 Subject: [PATCH 2/2] refactor: Change order of MyBook query to sort by updatedAt instead of createdAt --- .../com/ikdaman/domain/mybook/repository/MyBookRepository.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 7c3f090..0779343 100644 --- a/src/main/java/com/ikdaman/domain/mybook/repository/MyBookRepository.java +++ b/src/main/java/com/ikdaman/domain/mybook/repository/MyBookRepository.java @@ -76,7 +76,7 @@ Page searchMyBooks( m.memberId = :memberId AND m.isReading = true AND m.status = 'ACTIVE' - ORDER BY m.createdAt DESC + ORDER BY m.updatedAt DESC LIMIT :limit """ )