From 5f1605ab463ca2dbc93fe84fb72793ab0bfc6f20 Mon Sep 17 00:00:00 2001 From: JIN-076 <57834671+JIN-076@users.noreply.github.com> Date: Wed, 28 Feb 2024 14:16:27 +0900 Subject: [PATCH] Refact/#178 pagination refact (#180) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [REFACT] Pagination 정렬 누락 수정 및 최신순 정렬 * [REFACT] 사용자의 프로젝트 매칭 요청 리스트 조회에서 Pagination 정렬 누락 수정 및 최신순 정렬 --- .../ProfileCardLikeRepositoryCustomImpl.java | 4 +++- .../infrastructure/ProfileCardRepositoryCustomImpl.java | 4 +++- .../infrastructure/ProjectRepositoryCustomImpl.java | 4 +++- .../ProjectJoinRequestRepositoryCustomImpl.java | 8 +++++++- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/main/java/io/oeid/mogakgo/domain/profile/infrastructure/ProfileCardLikeRepositoryCustomImpl.java b/src/main/java/io/oeid/mogakgo/domain/profile/infrastructure/ProfileCardLikeRepositoryCustomImpl.java index c98d0faf..cb265bb4 100644 --- a/src/main/java/io/oeid/mogakgo/domain/profile/infrastructure/ProfileCardLikeRepositoryCustomImpl.java +++ b/src/main/java/io/oeid/mogakgo/domain/profile/infrastructure/ProfileCardLikeRepositoryCustomImpl.java @@ -58,6 +58,8 @@ public CursorPaginationResult getLikeInfoBySender( cursorIdCondition(pageable.getCursorId()), senderIdEq(senderId) ) + // 최근순 + .orderBy(profileCardLike.id.desc()) .limit(pageable.getPageSize() + 1) .fetch(); @@ -83,6 +85,6 @@ private BooleanExpression receiveridEq(Long receiverId) { } private BooleanExpression cursorIdCondition(Long cursorId) { - return cursorId != null ? profileCardLike.id.gt(cursorId) : null; + return cursorId != null ? profileCardLike.id.lt(cursorId) : null; } } diff --git a/src/main/java/io/oeid/mogakgo/domain/profile/infrastructure/ProfileCardRepositoryCustomImpl.java b/src/main/java/io/oeid/mogakgo/domain/profile/infrastructure/ProfileCardRepositoryCustomImpl.java index a8d898d6..7684dd55 100644 --- a/src/main/java/io/oeid/mogakgo/domain/profile/infrastructure/ProfileCardRepositoryCustomImpl.java +++ b/src/main/java/io/oeid/mogakgo/domain/profile/infrastructure/ProfileCardRepositoryCustomImpl.java @@ -35,6 +35,8 @@ public CursorPaginationResult findByConditionWithPaginati regionEq(region), deletedProfileCardEq() ) + // 최근순 + .orderBy(profileCard.id.desc()) .limit(pageable.getPageSize() + 1) .fetch(); @@ -69,7 +71,7 @@ private BooleanExpression userIdEq(Long userId) { } private BooleanExpression cursorIdCondition(Long cursorId) { - return cursorId != null ? profileCard.id.gt(cursorId) : null; + return cursorId != null ? profileCard.id.lt(cursorId) : null; } private BooleanExpression deletedProfileCardEq() { diff --git a/src/main/java/io/oeid/mogakgo/domain/project/infrastructure/ProjectRepositoryCustomImpl.java b/src/main/java/io/oeid/mogakgo/domain/project/infrastructure/ProjectRepositoryCustomImpl.java index 20c73887..c407159b 100644 --- a/src/main/java/io/oeid/mogakgo/domain/project/infrastructure/ProjectRepositoryCustomImpl.java +++ b/src/main/java/io/oeid/mogakgo/domain/project/infrastructure/ProjectRepositoryCustomImpl.java @@ -43,6 +43,8 @@ public CursorPaginationResult findByConditionWithPagination projectStatusEq(projectStatus), createdAtEq(today) ) + // 최근순 + .orderBy(project.id.desc()) .limit(pageable.getPageSize() + 1) .fetch(); @@ -90,7 +92,7 @@ public List getDensityRankProjectsByRegion(int limit) { } private BooleanExpression cursorIdCondition(Long cursorId) { - return cursorId != null ? project.id.gt(cursorId) : null; + return cursorId != null ? project.id.lt(cursorId) : null; } private BooleanExpression userIdEq(Long userId) { diff --git a/src/main/java/io/oeid/mogakgo/domain/project_join_req/infrastructure/ProjectJoinRequestRepositoryCustomImpl.java b/src/main/java/io/oeid/mogakgo/domain/project_join_req/infrastructure/ProjectJoinRequestRepositoryCustomImpl.java index a2e05315..3114f1ef 100644 --- a/src/main/java/io/oeid/mogakgo/domain/project_join_req/infrastructure/ProjectJoinRequestRepositoryCustomImpl.java +++ b/src/main/java/io/oeid/mogakgo/domain/project_join_req/infrastructure/ProjectJoinRequestRepositoryCustomImpl.java @@ -84,11 +84,13 @@ public CursorPaginationResult getBySenderIdWithP ) { List entities = jpaQueryFactory.selectFrom(projectJoinRequest) .where( - cursorIdCondition(pageable.getCursorId()), + cursorIdConditionForDesc(pageable.getCursorId()), senderIdEq(senderId), projectIdEq(projectId), requestStatusEq(requestStatus) ) + // 최근순 + .orderBy(projectJoinRequest.id.desc()) .limit(pageable.getPageSize() + 1) .fetch(); @@ -125,4 +127,8 @@ private BooleanExpression cursorIdCondition(Long cursorId) { return cursorId != null ? projectJoinRequest.id.gt(cursorId) : null; } + private BooleanExpression cursorIdConditionForDesc(Long cursorId) { + return cursorId != null ? projectJoinRequest.id.lt(cursorId) : null; + } + }