Skip to content

Commit cafece7

Browse files
authored
Refactor: 멘토링 관련 Pageable 정렬 조건 처리 (#345)
* Refactor: reservation 목록 orderBy pageable에서 처리 * Refactor: review 목록 orderBy pageable에서 처리 * Refactor: 시간 설정
1 parent 6fd011a commit cafece7

File tree

6 files changed

+25
-20
lines changed

6 files changed

+25
-20
lines changed

back/src/main/java/com/back/domain/mentoring/mentoring/repository/ReviewRepository.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ Double calculateMentoringAverageRating(
3434
SELECT r
3535
FROM Review r
3636
WHERE r.reservation.mentoring.id = :mentoringId
37-
ORDER BY r.createDate DESC
3837
""")
3938
Page<Review> findAllByMentoringId(
4039
@Param("mentoringId") Long mentoringId,

back/src/main/java/com/back/domain/mentoring/mentoring/service/ReviewService.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import org.springframework.data.domain.Page;
1515
import org.springframework.data.domain.PageRequest;
1616
import org.springframework.data.domain.Pageable;
17+
import org.springframework.data.domain.Sort;
1718
import org.springframework.stereotype.Service;
1819
import org.springframework.transaction.annotation.Transactional;
1920

@@ -26,7 +27,11 @@ public class ReviewService {
2627

2728
@Transactional(readOnly = true)
2829
public Page<ReviewResponse> getReviews(Long mentoringId, int page, int size) {
29-
Pageable pageable = PageRequest.of(page, size);
30+
Pageable pageable = PageRequest.of(
31+
page,
32+
size,
33+
Sort.by(Sort.Direction.DESC, "createDate")
34+
);
3035

3136
return reviewRepository.findAllByMentoringId(mentoringId, pageable)
3237
.map(ReviewResponse::from);

back/src/main/java/com/back/domain/mentoring/reservation/repository/ReservationRepository.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ Optional<Reservation> findByIdAndMember(
3333
SELECT r
3434
FROM Reservation r
3535
WHERE r.mentor.member.id = :memberId
36-
ORDER BY r.mentorSlot.startDateTime DESC
3736
""")
3837
Page<Reservation> findAllByMentorMember(
3938
@Param("memberId") Long memberId,
@@ -44,7 +43,6 @@ Page<Reservation> findAllByMentorMember(
4443
SELECT r
4544
FROM Reservation r
4645
WHERE r.mentee.member = :member
47-
ORDER BY r.mentorSlot.startDateTime DESC
4846
""")
4947
Page<Reservation> findAllByMenteeMember(
5048
@Param("member") Member member,

back/src/main/java/com/back/domain/mentoring/reservation/service/ReservationService.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import org.springframework.data.domain.Page;
2424
import org.springframework.data.domain.PageRequest;
2525
import org.springframework.data.domain.Pageable;
26+
import org.springframework.data.domain.Sort;
2627
import org.springframework.stereotype.Service;
2728
import org.springframework.transaction.annotation.Transactional;
2829

@@ -39,7 +40,11 @@ public class ReservationService {
3940

4041
@Transactional(readOnly = true)
4142
public Page<ReservationDto> getReservations(Member member, int page, int size) {
42-
Pageable pageable = PageRequest.of(page, size);
43+
Pageable pageable = PageRequest.of(
44+
page,
45+
size,
46+
Sort.by(Sort.Direction.DESC, "mentorSlot.startDateTime")
47+
);
4348

4449
Page<Reservation> reservations;
4550

back/src/main/java/com/back/domain/mentoring/slot/service/MentorSlotService.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -157,15 +157,13 @@ private LocalDate findNextOrSameDayOfWeek(LocalDate startDate, DayOfWeek targetD
157157
* 매 시간 30분에 지난 슬롯 만기 처리
158158
* - AVAILABLE -> EXPIRED
159159
*/
160-
@Scheduled(cron = "0 */30 * * * *")
160+
@Scheduled(cron = "0 */30 * * * *", zone = "Asia/Seoul")
161161
@Transactional
162162
public void expirePassedSlots() {
163163
LocalDateTime now = LocalDateTime.now();
164-
165164
int updateCount = mentorSlotRepository.expirePassedSlots(now);
166-
if (updateCount > 0) {
167-
log.info("만료된 슬롯 {}개 업데이트 완료 at {}", updateCount, now);
168-
}
165+
166+
log.info("만료된 슬롯 {}개 업데이트 완료 at {}", updateCount, now);
169167
}
170168

171169

back/src/test/java/com/back/domain/mentoring/reservation/service/ReservationServiceTest.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,7 @@
3333
import org.mockito.InjectMocks;
3434
import org.mockito.Mock;
3535
import org.mockito.junit.jupiter.MockitoExtension;
36-
import org.springframework.data.domain.Page;
37-
import org.springframework.data.domain.PageImpl;
38-
import org.springframework.data.domain.PageRequest;
39-
import org.springframework.data.domain.Pageable;
36+
import org.springframework.data.domain.*;
4037
import org.springframework.test.util.ReflectionTestUtils;
4138

4239
import java.time.LocalDateTime;
@@ -96,16 +93,16 @@ void getReservations() {
9693
// given
9794
int page = 1;
9895
int size = 5;
99-
Pageable pageable = PageRequest.of(page, size);
100-
10196
Page<Reservation> reservationPage = new PageImpl<>(
10297
List.of(reservation),
103-
pageable,
98+
PageRequest.of(page, size),
10499
10
105100
);
106101

107-
when(reservationRepository.findAllByMentorMember(mentor.getMember().getId(), pageable))
108-
.thenReturn(reservationPage);
102+
when(reservationRepository.findAllByMentorMember(
103+
eq(mentor.getMember().getId()),
104+
any(Pageable.class)
105+
)).thenReturn(reservationPage);
109106

110107
// when
111108
Page<ReservationDto> result = reservationService.getReservations(
@@ -119,7 +116,10 @@ void getReservations() {
119116
assertThat(result.getSize()).isEqualTo(5);
120117
assertThat(result.getTotalElements()).isEqualTo(10);
121118
assertThat(result.getTotalPages()).isEqualTo(2);
122-
verify(reservationRepository).findAllByMentorMember(mentor.getMember().getId(), pageable);
119+
verify(reservationRepository).findAllByMentorMember(
120+
eq(mentor.getMember().getId()),
121+
any(Pageable.class)
122+
);
123123
}
124124
}
125125

0 commit comments

Comments
 (0)