fix: 메인 홈 API - 추천 채널

- 미인증 계정에서 19금 콘텐츠가 조회되지 않도록 수정
This commit is contained in:
Klaus 2025-07-15 01:28:42 +09:00
parent edf16a6021
commit 0d2daf4d2c
3 changed files with 13 additions and 5 deletions

View File

@ -10,7 +10,6 @@ import kr.co.vividnext.sodalive.content.series.ContentSeriesService
import kr.co.vividnext.sodalive.content.series.GetSeriesListResponse import kr.co.vividnext.sodalive.content.series.GetSeriesListResponse
import kr.co.vividnext.sodalive.content.theme.AudioContentThemeService import kr.co.vividnext.sodalive.content.theme.AudioContentThemeService
import kr.co.vividnext.sodalive.creator.admin.content.series.SeriesPublishedDaysOfWeek import kr.co.vividnext.sodalive.creator.admin.content.series.SeriesPublishedDaysOfWeek
import kr.co.vividnext.sodalive.event.EventService
import kr.co.vividnext.sodalive.event.GetEventResponse import kr.co.vividnext.sodalive.event.GetEventResponse
import kr.co.vividnext.sodalive.explorer.ExplorerQueryRepository import kr.co.vividnext.sodalive.explorer.ExplorerQueryRepository
import kr.co.vividnext.sodalive.live.room.LiveRoomService import kr.co.vividnext.sodalive.live.room.LiveRoomService
@ -30,7 +29,6 @@ import java.time.temporal.TemporalAdjusters
@Service @Service
class HomeService( class HomeService(
private val eventService: EventService,
private val memberService: MemberService, private val memberService: MemberService,
private val liveRoomService: LiveRoomService, private val liveRoomService: LiveRoomService,
private val auditionService: AuditionService, private val auditionService: AuditionService,

View File

@ -60,7 +60,13 @@ class RecommendChannelQueryRepository(
.fetch() .fetch()
} }
fun getContentsByCreatorIdLikeDesc(creatorId: Long): List<RecommendChannelContentItem> { fun getContentsByCreatorIdLikeDesc(creatorId: Long, isAdult: Boolean): List<RecommendChannelContentItem> {
var where = audioContent.member.id.eq(creatorId)
if (!isAdult) {
where = where.and(audioContent.isAdult.isFalse)
}
return queryFactory return queryFactory
.select( .select(
QRecommendChannelContentItem( QRecommendChannelContentItem(
@ -82,7 +88,7 @@ class RecommendChannelQueryRepository(
audioContentComment.audioContent.id.eq(audioContent.id) audioContentComment.audioContent.id.eq(audioContent.id)
.and(audioContentComment.isActive.isTrue) .and(audioContentComment.isActive.isTrue)
) )
.where(audioContent.member.id.eq(creatorId)) .where(where)
.groupBy(audioContent.id) .groupBy(audioContent.id)
.orderBy(audioContentLike.id.countDistinct().desc()) .orderBy(audioContentLike.id.countDistinct().desc())
.limit(3) .limit(3)

View File

@ -23,7 +23,11 @@ class RecommendChannelQueryService(private val repository: RecommendChannelQuery
) )
return recommendChannelList.map { return recommendChannelList.map {
it.contentList = repository.getContentsByCreatorIdLikeDesc(it.channelId) it.contentList = repository.getContentsByCreatorIdLikeDesc(
creatorId = it.channelId,
isAdult = isAdult
)
it it
} }
} }