추천 콘텐츠 시간 감쇠 적용

This commit is contained in:
2026-02-12 18:14:08 +09:00
parent 1ca7e1744d
commit e690bf8aec
3 changed files with 114 additions and 27 deletions

View File

@@ -187,7 +187,8 @@ interface AudioContentQueryRepository {
isFree: Boolean,
isAdult: Boolean,
orderByRandom: Boolean = false,
isPointAvailableOnly: Boolean = false
isPointAvailableOnly: Boolean = false,
excludeContentIds: List<Long> = emptyList()
): List<AudioContentMainItem>
fun findContentByCurationId(
@@ -1329,7 +1330,8 @@ class AudioContentQueryRepositoryImpl(
isFree: Boolean,
isAdult: Boolean,
orderByRandom: Boolean,
isPointAvailableOnly: Boolean
isPointAvailableOnly: Boolean,
excludeContentIds: List<Long>
): List<AudioContentMainItem> {
val blockMemberCondition = if (memberId != null) {
blockMember.member.id.eq(member.id)
@@ -1376,6 +1378,10 @@ class AudioContentQueryRepositoryImpl(
where = where.and(audioContent.isPointAvailable.isTrue)
}
if (excludeContentIds.isNotEmpty()) {
where = where.and(audioContent.id.notIn(excludeContentIds))
}
var select = queryFactory
.select(
QAudioContentMainItem(

View File

@@ -1207,7 +1207,8 @@ class AudioContentService(
isFree: Boolean = false,
isAdult: Boolean = false,
orderByRandom: Boolean = false,
isPointAvailableOnly: Boolean = false
isPointAvailableOnly: Boolean = false,
excludeContentIds: List<Long> = emptyList()
): List<AudioContentMainItem> {
/**
* - AS-IS theme은 한글만 처리하도록 되어 있음
@@ -1231,7 +1232,8 @@ class AudioContentService(
isFree = isFree,
isAdult = isAdult,
orderByRandom = orderByRandom,
isPointAvailableOnly = isPointAvailableOnly
isPointAvailableOnly = isPointAvailableOnly,
excludeContentIds = excludeContentIds
)
val contentIds = contentList.map { it.contentId }