크리에이터 관리자 - 시리즈 리스트

- 응답값에 상세 내용 추가(소개, 연재요일, 장르, 연령제한여부, 완결여부, 활성화 여부, 작가, 제작사)
This commit is contained in:
Klaus 2024-04-22 19:31:57 +09:00
parent 7333b5d755
commit 5f607e2b75
4 changed files with 32 additions and 20 deletions

View File

@ -14,9 +14,8 @@ interface CreatorAdminContentSeriesQueryRepository {
fun getSeriesList( fun getSeriesList(
offset: Long, offset: Long,
limit: Long, limit: Long,
creatorId: Long, creatorId: Long
imageHost: String ): List<Series>
): List<GetCreatorAdminContentSeriesListItem>
fun getSeriesContentCount(creatorId: Long): Int fun getSeriesContentCount(creatorId: Long): Int
fun getSeriesContentList( fun getSeriesContentList(
@ -55,18 +54,10 @@ class CreatorAdminContentSeriesQueryRepositoryImpl(
override fun getSeriesList( override fun getSeriesList(
offset: Long, offset: Long,
limit: Long, limit: Long,
creatorId: Long, creatorId: Long
imageHost: String ): List<Series> {
): List<GetCreatorAdminContentSeriesListItem> {
return queryFactory return queryFactory
.select( .selectFrom(series)
QGetCreatorAdminContentSeriesListItem(
series.id,
series.title,
series.coverImage.prepend("/").prepend(imageHost)
)
)
.from(series)
.where( .where(
series.member.id.eq(creatorId) series.member.id.eq(creatorId)
.and(series.isActive.isTrue) .and(series.isActive.isTrue)

View File

@ -170,9 +170,23 @@ class CreatorAdminContentSeriesService(
val seriesList = repository.getSeriesList( val seriesList = repository.getSeriesList(
offset = offset, offset = offset,
limit = limit, limit = limit,
creatorId = creatorId, creatorId = creatorId
imageHost = coverImageHost
) )
.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) return GetCreatorAdminContentSeriesListResponse(totalCount, seriesList)
} }

View File

@ -1,14 +1,20 @@
package kr.co.vividnext.sodalive.creator.admin.content.series package kr.co.vividnext.sodalive.creator.admin.content.series
import com.querydsl.core.annotations.QueryProjection
data class GetCreatorAdminContentSeriesListResponse( data class GetCreatorAdminContentSeriesListResponse(
val totalCount: Int, val totalCount: Int,
val items: List<GetCreatorAdminContentSeriesListItem> val items: List<GetCreatorAdminContentSeriesListItem>
) )
data class GetCreatorAdminContentSeriesListItem @QueryProjection constructor( data class GetCreatorAdminContentSeriesListItem(
val seriesId: Long, val seriesId: Long,
val title: String, 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?
) )

View File

@ -7,6 +7,7 @@ data class ModifySeriesRequest(
val publishedDaysOfWeek: Set<SeriesPublishedDaysOfWeek>?, val publishedDaysOfWeek: Set<SeriesPublishedDaysOfWeek>?,
val genreId: Long?, val genreId: Long?,
val isAdult: Boolean?, val isAdult: Boolean?,
val state: SeriesState?,
val isActive: Boolean?, val isActive: Boolean?,
val writer: String?, val writer: String?,
val studio: String? val studio: String?