Merge pull request '관리자 - 시리즈 리스트 API' (#226) from test into main

Reviewed-on: #226
This commit is contained in:
klaus 2024-10-14 15:39:45 +00:00
commit 66e786b4bb
2 changed files with 7 additions and 0 deletions

View File

@ -3,7 +3,9 @@ package kr.co.vividnext.sodalive.admin.content.series
import com.querydsl.core.types.dsl.CaseBuilder import com.querydsl.core.types.dsl.CaseBuilder
import com.querydsl.jpa.impl.JPAQueryFactory import com.querydsl.jpa.impl.JPAQueryFactory
import kr.co.vividnext.sodalive.admin.content.series.genre.QSeriesGenre.seriesGenre import kr.co.vividnext.sodalive.admin.content.series.genre.QSeriesGenre.seriesGenre
import kr.co.vividnext.sodalive.content.QAudioContent.audioContent
import kr.co.vividnext.sodalive.creator.admin.content.series.QSeries.series import kr.co.vividnext.sodalive.creator.admin.content.series.QSeries.series
import kr.co.vividnext.sodalive.creator.admin.content.series.QSeriesContent.seriesContent
import kr.co.vividnext.sodalive.creator.admin.content.series.Series import kr.co.vividnext.sodalive.creator.admin.content.series.Series
import kr.co.vividnext.sodalive.creator.admin.content.series.SeriesState import kr.co.vividnext.sodalive.creator.admin.content.series.SeriesState
import kr.co.vividnext.sodalive.member.QMember.member import kr.co.vividnext.sodalive.member.QMember.member
@ -51,6 +53,7 @@ class AdminContentSeriesQueryRepositoryImpl(
series.coverImage.prepend("/").prepend(coverImageHost), series.coverImage.prepend("/").prepend(coverImageHost),
member.nickname, member.nickname,
seriesGenre.genre, seriesGenre.genre,
seriesContent.id.count(),
CaseBuilder() CaseBuilder()
.`when`(series.state.eq(SeriesState.COMPLETE)).then("완결") .`when`(series.state.eq(SeriesState.COMPLETE)).then("완결")
.`when`(series.state.eq(SeriesState.COMPLETE)).then("휴재") .`when`(series.state.eq(SeriesState.COMPLETE)).then("휴재")
@ -61,7 +64,10 @@ class AdminContentSeriesQueryRepositoryImpl(
.from(series) .from(series)
.innerJoin(series.member, member) .innerJoin(series.member, member)
.innerJoin(series.genre, seriesGenre) .innerJoin(series.genre, seriesGenre)
.leftJoin(seriesContent).on(series.id.eq(seriesContent.series.id))
.leftJoin(seriesContent.content, audioContent).on(audioContent.isActive.isTrue)
.where(where) .where(where)
.groupBy(series.id)
.offset(offset) .offset(offset)
.limit(limit) .limit(limit)
.orderBy(series.member.id.asc(), series.orders.asc()) .orderBy(series.member.id.asc(), series.orders.asc())

View File

@ -14,6 +14,7 @@ data class GetAdminSeriesListItem @QueryProjection constructor(
val coverImageUrl: String, val coverImageUrl: String,
val creatorNickname: String, val creatorNickname: String,
val genre: String, val genre: String,
val numberOfWorks: Long,
val state: String, val state: String,
val isAdult: Boolean val isAdult: Boolean
) )