Compare commits

...

6 Commits

2 changed files with 20 additions and 8 deletions

View File

@@ -1453,11 +1453,10 @@ class AudioContentQueryRepositoryImpl(
isAdult: Boolean isAdult: Boolean
): AudioContent? { ): AudioContent? {
var where = audioContent.member.id.eq(creatorId) var where = audioContent.member.id.eq(creatorId)
.and( .and(audioContent.isActive.isTrue)
audioContent.isActive.isTrue .and(audioContent.duration.isNotNull)
.and(audioContent.duration.isNotNull) .and(audioContent.releaseDate.isNotNull)
.or(audioContent.releaseDate.isNotNull.and(audioContent.duration.isNotNull)) .and(audioContent.releaseDate.loe(LocalDateTime.now()))
)
if (!isAdult) { if (!isAdult) {
where = where.and(audioContent.isAdult.isFalse) where = where.and(audioContent.isAdult.isFalse)

View File

@@ -1,5 +1,6 @@
package kr.co.vividnext.sodalive.content.theme package kr.co.vividnext.sodalive.content.theme
import com.querydsl.core.types.dsl.CaseBuilder
import com.querydsl.jpa.impl.JPAQueryFactory import com.querydsl.jpa.impl.JPAQueryFactory
import kr.co.vividnext.sodalive.content.ContentType import kr.co.vividnext.sodalive.content.ContentType
import kr.co.vividnext.sodalive.content.QAudioContent.audioContent import kr.co.vividnext.sodalive.content.QAudioContent.audioContent
@@ -64,15 +65,27 @@ class AudioContentThemeQueryRepository(
where = where.and(audioContent.isPointAvailable.isTrue) where = where.and(audioContent.isPointAvailable.isTrue)
} }
return queryFactory val query = queryFactory
.select(audioContentTheme.theme) .select(audioContentTheme.theme)
.from(audioContent) .from(audioContent)
.innerJoin(audioContent.member, member) .innerJoin(audioContent.member, member)
.innerJoin(audioContent.theme, audioContentTheme) .innerJoin(audioContent.theme, audioContentTheme)
.where(where) .where(where)
.groupBy(audioContentTheme.id) .groupBy(audioContentTheme.id)
.orderBy(audioContentTheme.orders.asc())
.fetch() if (isFree) {
query.orderBy(
CaseBuilder()
.`when`(audioContentTheme.theme.eq("자기소개")).then(0)
.otherwise(1)
.asc(),
audioContentTheme.orders.asc()
)
} else {
query.orderBy(audioContentTheme.orders.asc())
}
return query.fetch()
} }
fun findThemeByIdAndActive(id: Long): AudioContentTheme? { fun findThemeByIdAndActive(id: Long): AudioContentTheme? {