From 5f607e2b75624c214d35ba36608e34f5da920fc3 Mon Sep 17 00:00:00 2001
From: Klaus <klaus@vividnext.co.kr>
Date: Mon, 22 Apr 2024 19:31:57 +0900
Subject: [PATCH] =?UTF-8?q?=ED=81=AC=EB=A6=AC=EC=97=90=EC=9D=B4=ED=84=B0?=
 =?UTF-8?q?=20=EA=B4=80=EB=A6=AC=EC=9E=90=20-=20=EC=8B=9C=EB=A6=AC?=
 =?UTF-8?q?=EC=A6=88=20=EB=A6=AC=EC=8A=A4=ED=8A=B8=20-=20=EC=9D=91?=
 =?UTF-8?q?=EB=8B=B5=EA=B0=92=EC=97=90=20=EC=83=81=EC=84=B8=20=EB=82=B4?=
 =?UTF-8?q?=EC=9A=A9=20=EC=B6=94=EA=B0=80(=EC=86=8C=EA=B0=9C,=20=EC=97=B0?=
 =?UTF-8?q?=EC=9E=AC=EC=9A=94=EC=9D=BC,=20=EC=9E=A5=EB=A5=B4,=20=EC=97=B0?=
 =?UTF-8?q?=EB=A0=B9=EC=A0=9C=ED=95=9C=EC=97=AC=EB=B6=80,=20=EC=99=84?=
 =?UTF-8?q?=EA=B2=B0=EC=97=AC=EB=B6=80,=20=ED=99=9C=EC=84=B1=ED=99=94=20?=
 =?UTF-8?q?=EC=97=AC=EB=B6=80,=20=EC=9E=91=EA=B0=80,=20=EC=A0=9C=EC=9E=91?=
 =?UTF-8?q?=EC=82=AC)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../CreatorAdminContentSeriesRepository.kt    | 19 +++++--------------
 .../CreatorAdminContentSeriesService.kt       | 18 ++++++++++++++++--
 ...etCreatorAdminContentSeriesListResponse.kt | 14 ++++++++++----
 .../content/series/ModifySeriesRequest.kt     |  1 +
 4 files changed, 32 insertions(+), 20 deletions(-)

diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/CreatorAdminContentSeriesRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/CreatorAdminContentSeriesRepository.kt
index 14fd766..22b8cf9 100644
--- a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/CreatorAdminContentSeriesRepository.kt
+++ b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/CreatorAdminContentSeriesRepository.kt
@@ -14,9 +14,8 @@ interface CreatorAdminContentSeriesQueryRepository {
     fun getSeriesList(
         offset: Long,
         limit: Long,
-        creatorId: Long,
-        imageHost: String
-    ): List<GetCreatorAdminContentSeriesListItem>
+        creatorId: Long
+    ): List<Series>
 
     fun getSeriesContentCount(creatorId: Long): Int
     fun getSeriesContentList(
@@ -55,18 +54,10 @@ class CreatorAdminContentSeriesQueryRepositoryImpl(
     override fun getSeriesList(
         offset: Long,
         limit: Long,
-        creatorId: Long,
-        imageHost: String
-    ): List<GetCreatorAdminContentSeriesListItem> {
+        creatorId: Long
+    ): List<Series> {
         return queryFactory
-            .select(
-                QGetCreatorAdminContentSeriesListItem(
-                    series.id,
-                    series.title,
-                    series.coverImage.prepend("/").prepend(imageHost)
-                )
-            )
-            .from(series)
+            .selectFrom(series)
             .where(
                 series.member.id.eq(creatorId)
                     .and(series.isActive.isTrue)
diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/CreatorAdminContentSeriesService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/CreatorAdminContentSeriesService.kt
index fd9f0ae..a9f0f10 100644
--- a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/CreatorAdminContentSeriesService.kt
+++ b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/CreatorAdminContentSeriesService.kt
@@ -170,9 +170,23 @@ class CreatorAdminContentSeriesService(
         val seriesList = repository.getSeriesList(
             offset = offset,
             limit = limit,
-            creatorId = creatorId,
-            imageHost = coverImageHost
+            creatorId = creatorId
         )
+            .map {
+                GetCreatorAdminContentSeriesListItem(
+                    seriesId = it.id!!,
+                    title = it.title,
+                    introduction = it.introduction,
+                    coverImageUrl = "$coverImageHost/${it.coverImage!!}",
+                    publishedDaysOfWeek = it.publishedDaysOfWeek.toList(),
+                    genreId = it.genre!!.id!!,
+                    isAdult = it.isAdult,
+                    state = it.state,
+                    isActive = it.isActive,
+                    writer = it.writer,
+                    studio = it.studio
+                )
+            }
 
         return GetCreatorAdminContentSeriesListResponse(totalCount, seriesList)
     }
diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/GetCreatorAdminContentSeriesListResponse.kt b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/GetCreatorAdminContentSeriesListResponse.kt
index da32444..f7c6484 100644
--- a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/GetCreatorAdminContentSeriesListResponse.kt
+++ b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/GetCreatorAdminContentSeriesListResponse.kt
@@ -1,14 +1,20 @@
 package kr.co.vividnext.sodalive.creator.admin.content.series
 
-import com.querydsl.core.annotations.QueryProjection
-
 data class GetCreatorAdminContentSeriesListResponse(
     val totalCount: Int,
     val items: List<GetCreatorAdminContentSeriesListItem>
 )
 
-data class GetCreatorAdminContentSeriesListItem @QueryProjection constructor(
+data class GetCreatorAdminContentSeriesListItem(
     val seriesId: Long,
     val title: String,
-    val coverImageUrl: String
+    val introduction: String,
+    val coverImageUrl: String,
+    val publishedDaysOfWeek: List<SeriesPublishedDaysOfWeek>,
+    val genreId: Long,
+    val isAdult: Boolean,
+    val state: SeriesState,
+    val isActive: Boolean,
+    val writer: String?,
+    val studio: String?
 )
diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/ModifySeriesRequest.kt b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/ModifySeriesRequest.kt
index 4057c55..f51b4cb 100644
--- a/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/ModifySeriesRequest.kt
+++ b/src/main/kotlin/kr/co/vividnext/sodalive/creator/admin/content/series/ModifySeriesRequest.kt
@@ -7,6 +7,7 @@ data class ModifySeriesRequest(
     val publishedDaysOfWeek: Set<SeriesPublishedDaysOfWeek>?,
     val genreId: Long?,
     val isAdult: Boolean?,
+    val state: SeriesState?,
     val isActive: Boolean?,
     val writer: String?,
     val studio: String?