Merge pull request '관리자 - 시리즈 리스트 API' (#226) from test into main
Reviewed-on: #226
This commit is contained in:
commit
66e786b4bb
|
@ -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())
|
||||||
|
|
|
@ -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
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue