diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentController.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentController.kt index c83d903..286f232 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentController.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentController.kt @@ -151,10 +151,17 @@ class AudioContentController(private val service: AudioContentService) { @GetMapping("/ranking") fun getAudioContentRanking( - @AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member? + @AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?, + pageable: Pageable ) = run { if (member == null) throw SodaException("로그인 정보를 확인해주세요.") - ApiResponse.ok(service.getAudioContentRanking(member = member)) + ApiResponse.ok( + service.getAudioContentRanking( + member = member, + offset = pageable.offset, + limit = pageable.pageSize.toLong() + ) + ) } } diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentRepository.kt index 5bbb47b..3bf9362 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentRepository.kt @@ -88,6 +88,7 @@ interface AudioContentQueryRepository { isAdult: Boolean, startDate: LocalDateTime, endDate: LocalDateTime, + offset: Long = 0, limit: Long = 12 ): List } @@ -442,6 +443,7 @@ class AudioContentQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) isAdult: Boolean, startDate: LocalDateTime, endDate: LocalDateTime, + offset: Long, limit: Long ): List { var where = audioContent.isActive.isTrue diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt index cf05527..40c2adb 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt @@ -577,7 +577,11 @@ class AudioContentService( } } - fun getAudioContentRanking(member: Member): GetAudioContentRanking { + fun getAudioContentRanking( + member: Member, + offset: Long, + limit: Long + ): GetAudioContentRanking { val currentDateTime = LocalDateTime.now() val startDate = currentDateTime .withHour(15) @@ -597,7 +601,8 @@ class AudioContentService( startDate = startDate, endDate = endDate, isAdult = member.auth != null, - limit = 50 + offset = offset, + limit = limit ) return GetAudioContentRanking(