From 149a3ad2f1208818ef0121bec2d2263eef62f260 Mon Sep 17 00:00:00 2001
From: Klaus <klaus@vividnext.co.kr>
Date: Sun, 15 Oct 2023 03:38:26 +0900
Subject: [PATCH] =?UTF-8?q?=EC=BD=98=ED=85=90=EC=B8=A0=20=EB=9E=AD?=
 =?UTF-8?q?=ED=82=B9=20=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EC=A0=84=EC=B2=B4?=
 =?UTF-8?q?=EB=B3=B4=EA=B8=B0=20API=20-=20=ED=8E=98=EC=9D=B4=EC=A7=95=20?=
 =?UTF-8?q?=EC=B6=94=EA=B0=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../sodalive/content/AudioContentController.kt        | 11 +++++++++--
 .../sodalive/content/AudioContentRepository.kt        |  2 ++
 .../vividnext/sodalive/content/AudioContentService.kt |  9 +++++++--
 3 files changed, 18 insertions(+), 4 deletions(-)

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<GetAudioContentRankingItem>
 }
@@ -442,6 +443,7 @@ class AudioContentQueryRepositoryImpl(private val queryFactory: JPAQueryFactory)
         isAdult: Boolean,
         startDate: LocalDateTime,
         endDate: LocalDateTime,
+        offset: Long,
         limit: Long
     ): List<GetAudioContentRankingItem> {
         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(