parent
3caaa151f4
commit
cf538a2c36
|
@ -15,6 +15,7 @@ import kr.co.vividnext.sodalive.content.main.banner.AudioContentBanner
|
|||
import kr.co.vividnext.sodalive.content.main.banner.QAudioContentBanner.audioContentBanner
|
||||
import kr.co.vividnext.sodalive.content.main.curation.AudioContentCuration
|
||||
import kr.co.vividnext.sodalive.content.main.curation.QAudioContentCuration.audioContentCuration
|
||||
import kr.co.vividnext.sodalive.content.main.curation.QAudioContentCurationItem.audioContentCurationItem
|
||||
import kr.co.vividnext.sodalive.content.main.tab.QAudioContentMainTab.audioContentMainTab
|
||||
import kr.co.vividnext.sodalive.content.order.QOrder.order
|
||||
import kr.co.vividnext.sodalive.content.pin.QPinContent.pinContent
|
||||
|
@ -109,6 +110,12 @@ interface AudioContentQueryRepository {
|
|||
contentType: ContentType
|
||||
): List<GetAudioContentMainItem>
|
||||
|
||||
fun findAudioContentByCurationIdV2(
|
||||
curationId: Long,
|
||||
memberId: Long,
|
||||
isAdult: Boolean
|
||||
): List<GetAudioContentMainItem>
|
||||
|
||||
fun getAudioContentRanking(
|
||||
cloudfrontHost: String,
|
||||
isAdult: Boolean,
|
||||
|
@ -648,6 +655,50 @@ class AudioContentQueryRepositoryImpl(
|
|||
.fetch()
|
||||
}
|
||||
|
||||
override fun findAudioContentByCurationIdV2(
|
||||
curationId: Long,
|
||||
memberId: Long,
|
||||
isAdult: Boolean
|
||||
): List<GetAudioContentMainItem> {
|
||||
val blockMemberCondition = blockMember.member.id.eq(member.id)
|
||||
.and(blockMember.isActive.isTrue)
|
||||
.and(blockMember.blockedMember.id.eq(memberId))
|
||||
|
||||
var where = audioContentCuration.isActive.isTrue
|
||||
.and(audioContentCurationItem.isActive.isTrue)
|
||||
.and(audioContent.isActive.isTrue)
|
||||
.and(audioContent.member.isNotNull)
|
||||
.and(audioContent.duration.isNotNull)
|
||||
.and(audioContent.member.isActive.isTrue)
|
||||
.and(audioContentCuration.id.eq(curationId))
|
||||
.and(blockMember.id.isNull)
|
||||
|
||||
if (!isAdult) {
|
||||
where = where.and(audioContent.isAdult.isFalse)
|
||||
}
|
||||
|
||||
return queryFactory
|
||||
.select(
|
||||
QGetAudioContentMainItem(
|
||||
audioContent.id,
|
||||
audioContent.coverImage.prepend("/").prepend(imageHost),
|
||||
audioContent.title,
|
||||
member.id,
|
||||
member.profileImage.prepend("/").prepend(imageHost),
|
||||
member.nickname,
|
||||
audioContent.price,
|
||||
audioContent.duration
|
||||
)
|
||||
)
|
||||
.from(audioContentCurationItem)
|
||||
.innerJoin(audioContentCurationItem.content, audioContent)
|
||||
.innerJoin(audioContentCurationItem.curation, audioContentCuration)
|
||||
.innerJoin(audioContent.member, member)
|
||||
.leftJoin(blockMember).on(blockMemberCondition)
|
||||
.where(where)
|
||||
.fetch()
|
||||
}
|
||||
|
||||
override fun getAudioContentRanking(
|
||||
cloudfrontHost: String,
|
||||
isAdult: Boolean,
|
||||
|
|
|
@ -64,10 +64,10 @@ class AudioContentMainTabAlarmService(
|
|||
.map {
|
||||
GetContentCurationResponse(
|
||||
title = it.title,
|
||||
items = contentRepository.findAudioContentByCurationId(
|
||||
items = contentRepository.findAudioContentByCurationIdV2(
|
||||
curationId = it.id!!,
|
||||
isAdult = isAdult,
|
||||
contentType = ContentType.ALL
|
||||
memberId = memberId,
|
||||
isAdult = isAdult
|
||||
)
|
||||
)
|
||||
}
|
||||
|
|
|
@ -65,10 +65,10 @@ class AudioContentMainTabAsmrService(
|
|||
.map {
|
||||
GetContentCurationResponse(
|
||||
title = it.title,
|
||||
items = contentRepository.findAudioContentByCurationId(
|
||||
items = contentRepository.findAudioContentByCurationIdV2(
|
||||
curationId = it.id!!,
|
||||
isAdult = isAdult,
|
||||
contentType = ContentType.ALL
|
||||
memberId = memberId,
|
||||
isAdult = isAdult
|
||||
)
|
||||
)
|
||||
}
|
||||
|
|
|
@ -38,10 +38,10 @@ class AudioContentMainTabFreeService(
|
|||
.map {
|
||||
GetContentCurationResponse(
|
||||
title = it.title,
|
||||
items = contentRepository.findAudioContentByCurationId(
|
||||
items = contentRepository.findAudioContentByCurationIdV2(
|
||||
curationId = it.id!!,
|
||||
isAdult = isAdult,
|
||||
contentType = ContentType.ALL
|
||||
memberId = memberId,
|
||||
isAdult = isAdult
|
||||
)
|
||||
)
|
||||
}
|
||||
|
@ -68,10 +68,10 @@ class AudioContentMainTabFreeService(
|
|||
.map {
|
||||
GetContentCurationResponse(
|
||||
title = it.title,
|
||||
items = contentRepository.findAudioContentByCurationId(
|
||||
items = contentRepository.findAudioContentByCurationIdV2(
|
||||
curationId = it.id!!,
|
||||
isAdult = isAdult,
|
||||
contentType = ContentType.ALL
|
||||
memberId = memberId,
|
||||
isAdult = isAdult
|
||||
)
|
||||
)
|
||||
}
|
||||
|
|
|
@ -65,10 +65,10 @@ class AudioContentMainTabLiveReplayService(
|
|||
.map {
|
||||
GetContentCurationResponse(
|
||||
title = it.title,
|
||||
items = contentRepository.findAudioContentByCurationId(
|
||||
items = contentRepository.findAudioContentByCurationIdV2(
|
||||
curationId = it.id!!,
|
||||
isAdult = isAdult,
|
||||
contentType = ContentType.ALL
|
||||
memberId = memberId,
|
||||
isAdult = isAdult
|
||||
)
|
||||
)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue