diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentRepository.kt index f7a02fb..e997e3d 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentRepository.kt @@ -166,6 +166,7 @@ class AudioContentQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) var where = audioContent.member.id.eq(creatorId) .and( audioContent.isActive.isTrue + .and(audioContent.duration.isNotNull) .or(audioContent.releaseDate.isNotNull.and(audioContent.duration.isNotNull)) ) @@ -237,6 +238,7 @@ class AudioContentQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) var where = audioContent.member.id.eq(creatorId) .and( audioContent.isActive.isTrue + .and(audioContent.duration.isNotNull) .or(audioContent.releaseDate.isNotNull.and(audioContent.duration.isNotNull)) ) @@ -336,6 +338,7 @@ class AudioContentQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) } var where = audioContent.isActive.isTrue + .and(audioContent.duration.isNotNull) .and( audioContent.releaseDate.isNull .or(audioContent.releaseDate.loe(LocalDateTime.now())) @@ -375,6 +378,7 @@ class AudioContentQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) override fun totalCountByTheme(memberId: Long, theme: String, isAdult: Boolean): Int { var where = audioContent.isActive.isTrue + .and(audioContent.duration.isNotNull) .and( audioContent.releaseDate.isNull .or(audioContent.releaseDate.loe(LocalDateTime.now())) @@ -401,6 +405,7 @@ class AudioContentQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) override fun totalCountNewContentFor2Weeks(theme: String, memberId: Long, isAdult: Boolean): Int { var where = audioContent.isActive.isTrue + .and(audioContent.duration.isNotNull) .and(audioContent.releaseDate.goe(LocalDateTime.now().minusWeeks(2))) .and( audioContent.releaseDate.isNull @@ -435,6 +440,7 @@ class AudioContentQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) limit: Long ): List { var where = audioContent.isActive.isTrue + .and(audioContent.duration.isNotNull) .and(audioContent.releaseDate.goe(LocalDateTime.now().minusWeeks(2))) .and( audioContent.releaseDate.isNull @@ -479,6 +485,7 @@ class AudioContentQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) ): List { var where = audioContent.releaseDate.after(LocalDateTime.now().minusWeeks(2)) .and(audioContent.isActive.isTrue) + .and(audioContent.duration.isNotNull) if (!isAdult) { where = where.and(audioContent.isAdult.isFalse) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/live/roulette/NewRouletteService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/live/roulette/NewRouletteService.kt index fa3ea40..a77eef5 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/live/roulette/NewRouletteService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/live/roulette/NewRouletteService.kt @@ -54,9 +54,9 @@ class NewRouletteService( oldRepository.deleteById(roulette.creatorId) } } - rouletteList.sortedBy { it.id } - return rouletteList.asSequence() + return rouletteList.sortedWith(compareByDescending { it.isActive }.thenBy { it.id }) + .asSequence() .map { GetNewRouletteResponse( it.id,