fix(content): 무료 콘텐츠 포인트 사용 조건을 보정한다
This commit is contained in:
@@ -967,7 +967,7 @@ class AudioContentService(
|
||||
previousContent = previousContent,
|
||||
nextContent = nextContent,
|
||||
buyerList = buyerList,
|
||||
isAvailableUsePoint = audioContent.isPointAvailable,
|
||||
isAvailableUsePoint = audioContent.isPointAvailable && audioContent.price > 0,
|
||||
translated = translated
|
||||
)
|
||||
}
|
||||
|
||||
@@ -60,7 +60,7 @@ data class MainContentAudioResponse(
|
||||
imageUrl = audio.imageUrl,
|
||||
price = audio.price,
|
||||
isAdult = audio.isAdult,
|
||||
isPointAvailable = audio.isPointAvailable,
|
||||
isPointAvailable = audio.isPointAvailable && audio.price > 0,
|
||||
isFirstContent = audio.isFirstContent,
|
||||
isOriginalSeries = audio.isOriginalSeries,
|
||||
creatorNickname = audio.creatorNickname
|
||||
|
||||
@@ -46,7 +46,7 @@ data class ContentOverviewItemResponse(
|
||||
title = audio.title,
|
||||
coverImage = audio.imageUrl,
|
||||
price = audio.price,
|
||||
isPointAvailable = audio.isPointAvailable,
|
||||
isPointAvailable = audio.isPointAvailable && audio.price > 0,
|
||||
creatorNickname = audio.creatorNickname,
|
||||
isAdult = audio.isAdult,
|
||||
isFirstContent = audio.isFirstContent,
|
||||
@@ -65,7 +65,7 @@ data class ContentOverviewItemResponse(
|
||||
title = audio.title,
|
||||
coverImage = coverImage,
|
||||
price = audio.price,
|
||||
isPointAvailable = audio.isPointAvailable,
|
||||
isPointAvailable = audio.isPointAvailable && audio.price > 0,
|
||||
creatorNickname = audio.creatorNickname,
|
||||
isAdult = isAdult,
|
||||
isFirstContent = true,
|
||||
|
||||
@@ -69,7 +69,7 @@ data class AudioCardResponse(
|
||||
imageUrl = audio.imageUrl,
|
||||
price = audio.price,
|
||||
isAdult = audio.isAdult,
|
||||
isPointAvailable = audio.isPointAvailable,
|
||||
isPointAvailable = audio.isPointAvailable && audio.price > 0,
|
||||
isFirstContent = audio.isFirstContent,
|
||||
isOriginalSeries = audio.isOriginalSeries,
|
||||
creatorNickname = audio.creatorNickname
|
||||
|
||||
@@ -32,7 +32,7 @@ data class CreatorChannelAudioContentResponse(
|
||||
imageUrl = audioContent.imageUrl,
|
||||
price = audioContent.price,
|
||||
isAdult = audioContent.isAdult,
|
||||
isPointAvailable = audioContent.isPointAvailable,
|
||||
isPointAvailable = audioContent.isPointAvailable && audioContent.price > 0,
|
||||
isFirstContent = audioContent.isFirstContent,
|
||||
seriesName = audioContent.seriesName,
|
||||
isOriginalSeries = audioContent.isOriginalSeries,
|
||||
|
||||
@@ -267,7 +267,7 @@ class HomeRecommendationFacade(
|
||||
title = title,
|
||||
price = price,
|
||||
coverImage = imageUrl(cloudFrontHost, coverImage),
|
||||
isPointAvailable = isPointAvailable
|
||||
isPointAvailable = isPointAvailable && price > 0
|
||||
)
|
||||
|
||||
private fun HomeAiCharacterRecommendationRecord.toItem() = HomeAiCharacterItem(
|
||||
|
||||
@@ -406,7 +406,7 @@ class DefaultMainContentAllQueryRepository(
|
||||
}
|
||||
|
||||
private fun optionalAudioPointCondition(onlyPointAvailable: Boolean): BooleanExpression? {
|
||||
return if (onlyPointAvailable) audioContent.isPointAvailable.isTrue else null
|
||||
return if (onlyPointAvailable) audioContent.isPointAvailable.isTrue.and(audioContent.price.gt(0)) else null
|
||||
}
|
||||
|
||||
private fun optionalOriginalCondition(onlyOriginal: Boolean): BooleanExpression? {
|
||||
|
||||
@@ -135,7 +135,12 @@ class DefaultAudioRecommendationQueryRepository(
|
||||
now: LocalDateTime
|
||||
): List<AudioCard> {
|
||||
val randomTieBreaker = Expressions.numberTemplate(Double::class.java, "function('rand')")
|
||||
val rows = audioRows(memberId, canViewAdultContent, now, audioContent.isPointAvailable.isTrue) {
|
||||
val rows = audioRows(
|
||||
memberId,
|
||||
canViewAdultContent,
|
||||
now,
|
||||
audioContent.isPointAvailable.isTrue.and(audioContent.price.gt(0))
|
||||
) {
|
||||
orderBy(randomTieBreaker.asc()).limit(limit.toLong())
|
||||
}
|
||||
return rows.toAudioCards(now, canViewAdultContent)
|
||||
|
||||
Reference in New Issue
Block a user