콘텐츠 메인 홈, 모닝콜, asmr, 단편, 무료, 다시듣기, 시리즈
- 19금 콘텐츠 (안)보기 설정 - 남성향, 여성향 콘텐츠만 보기 설정 적용
This commit is contained in:
@@ -35,10 +35,17 @@ interface ContentSeriesQueryRepository {
|
||||
fun getKeywordList(seriesId: Long): List<String>
|
||||
fun getSeriesContentMinMaxPrice(seriesId: Long): GetSeriesContentMinMaxPriceResponse
|
||||
fun getRecommendSeriesList(isAuth: Boolean, contentType: ContentType, limit: Long): List<Series>
|
||||
fun getOriginalAudioDramaList(memberId: Long, isAdult: Boolean, offset: Long = 0, limit: Long = 20): List<Series>
|
||||
fun getOriginalAudioDramaTotalCount(memberId: Long, isAdult: Boolean): Int
|
||||
fun getGenreList(isAdult: Boolean, memberId: Long): List<GetSeriesGenreListResponse>
|
||||
fun findByCurationId(curationId: Long, memberId: Long, isAdult: Boolean): List<Series>
|
||||
fun getOriginalAudioDramaList(
|
||||
memberId: Long,
|
||||
isAdult: Boolean,
|
||||
contentType: ContentType,
|
||||
offset: Long = 0,
|
||||
limit: Long = 20
|
||||
): List<Series>
|
||||
|
||||
fun getOriginalAudioDramaTotalCount(memberId: Long, isAdult: Boolean, contentType: ContentType): Int
|
||||
fun getGenreList(isAdult: Boolean, memberId: Long, contentType: ContentType): List<GetSeriesGenreListResponse>
|
||||
fun findByCurationId(curationId: Long, memberId: Long, isAdult: Boolean, contentType: ContentType): List<Series>
|
||||
}
|
||||
|
||||
class ContentSeriesQueryRepositoryImpl(
|
||||
@@ -144,7 +151,13 @@ class ContentSeriesQueryRepositoryImpl(
|
||||
.fetch()
|
||||
}
|
||||
|
||||
override fun getOriginalAudioDramaList(memberId: Long, isAdult: Boolean, offset: Long, limit: Long): List<Series> {
|
||||
override fun getOriginalAudioDramaList(
|
||||
memberId: Long,
|
||||
isAdult: Boolean,
|
||||
contentType: ContentType,
|
||||
offset: Long,
|
||||
limit: Long
|
||||
): List<Series> {
|
||||
val blockMemberCondition = blockMember.member.id.eq(member.id)
|
||||
.and(blockMember.isActive.isTrue)
|
||||
.and(blockMember.blockedMember.id.eq(memberId))
|
||||
@@ -155,6 +168,18 @@ class ContentSeriesQueryRepositoryImpl(
|
||||
|
||||
if (!isAdult) {
|
||||
where = where.and(series.isAdult.isFalse)
|
||||
} else {
|
||||
if (contentType != ContentType.ALL) {
|
||||
where = where.and(
|
||||
series.member.auth.gender.eq(
|
||||
if (contentType == ContentType.MALE) {
|
||||
0
|
||||
} else {
|
||||
1
|
||||
}
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
return queryFactory
|
||||
@@ -168,7 +193,7 @@ class ContentSeriesQueryRepositoryImpl(
|
||||
.fetch()
|
||||
}
|
||||
|
||||
override fun getOriginalAudioDramaTotalCount(memberId: Long, isAdult: Boolean): Int {
|
||||
override fun getOriginalAudioDramaTotalCount(memberId: Long, isAdult: Boolean, contentType: ContentType): Int {
|
||||
val blockMemberCondition = blockMember.member.id.eq(member.id)
|
||||
.and(blockMember.isActive.isTrue)
|
||||
.and(blockMember.blockedMember.id.eq(memberId))
|
||||
@@ -179,6 +204,18 @@ class ContentSeriesQueryRepositoryImpl(
|
||||
|
||||
if (!isAdult) {
|
||||
where = where.and(series.isAdult.isFalse)
|
||||
} else {
|
||||
if (contentType != ContentType.ALL) {
|
||||
where = where.and(
|
||||
series.member.auth.gender.eq(
|
||||
if (contentType == ContentType.MALE) {
|
||||
0
|
||||
} else {
|
||||
1
|
||||
}
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
return queryFactory
|
||||
@@ -191,7 +228,11 @@ class ContentSeriesQueryRepositoryImpl(
|
||||
.size
|
||||
}
|
||||
|
||||
override fun getGenreList(isAdult: Boolean, memberId: Long): List<GetSeriesGenreListResponse> {
|
||||
override fun getGenreList(
|
||||
isAdult: Boolean,
|
||||
memberId: Long,
|
||||
contentType: ContentType
|
||||
): List<GetSeriesGenreListResponse> {
|
||||
val blockMemberCondition = blockMember.member.id.eq(member.id)
|
||||
.and(blockMember.isActive.isTrue)
|
||||
.and(blockMember.blockedMember.id.eq(memberId))
|
||||
@@ -209,6 +250,18 @@ class ContentSeriesQueryRepositoryImpl(
|
||||
if (!isAdult) {
|
||||
where = where.and(seriesGenre.isAdult.isFalse)
|
||||
.and(series.isAdult.isFalse)
|
||||
} else {
|
||||
if (contentType != ContentType.ALL) {
|
||||
where = where.and(
|
||||
series.member.auth.gender.eq(
|
||||
if (contentType == ContentType.MALE) {
|
||||
0
|
||||
} else {
|
||||
1
|
||||
}
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
return queryFactory
|
||||
@@ -225,7 +278,12 @@ class ContentSeriesQueryRepositoryImpl(
|
||||
.fetch()
|
||||
}
|
||||
|
||||
override fun findByCurationId(curationId: Long, memberId: Long, isAdult: Boolean): List<Series> {
|
||||
override fun findByCurationId(
|
||||
curationId: Long,
|
||||
memberId: Long,
|
||||
isAdult: Boolean,
|
||||
contentType: ContentType
|
||||
): List<Series> {
|
||||
val blockMemberCondition = blockMember.member.id.eq(member.id)
|
||||
.and(blockMember.isActive.isTrue)
|
||||
.and(blockMember.blockedMember.id.eq(memberId))
|
||||
@@ -239,6 +297,12 @@ class ContentSeriesQueryRepositoryImpl(
|
||||
|
||||
if (!isAdult) {
|
||||
where = where.and(series.isAdult.isFalse)
|
||||
} else {
|
||||
if (contentType != ContentType.ALL) {
|
||||
where = where.and(
|
||||
series.member.auth.gender.eq(if (contentType == ContentType.MALE) 0 else 1)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
return queryFactory
|
||||
|
||||
@@ -30,22 +30,23 @@ class ContentSeriesService(
|
||||
@Value("\${cloud.aws.cloud-front.host}")
|
||||
private val coverImageHost: String
|
||||
) {
|
||||
fun getOriginalAudioDramaTotalCount(memberId: Long, isAdult: Boolean): Int {
|
||||
return repository.getOriginalAudioDramaTotalCount(memberId, isAdult)
|
||||
fun getOriginalAudioDramaTotalCount(memberId: Long, isAdult: Boolean, contentType: ContentType): Int {
|
||||
return repository.getOriginalAudioDramaTotalCount(memberId, isAdult, contentType)
|
||||
}
|
||||
|
||||
fun getOriginalAudioDramaList(
|
||||
memberId: Long,
|
||||
isAdult: Boolean,
|
||||
contentType: ContentType,
|
||||
offset: Long = 0,
|
||||
limit: Long = 20
|
||||
): List<GetSeriesListResponse.SeriesListItem> {
|
||||
val originalAudioDramaList = repository.getOriginalAudioDramaList(memberId, isAdult, offset, limit)
|
||||
val originalAudioDramaList = repository.getOriginalAudioDramaList(memberId, isAdult, contentType, offset, limit)
|
||||
return seriesToSeriesListItem(originalAudioDramaList, isAdult)
|
||||
}
|
||||
|
||||
fun getGenreList(memberId: Long, isAdult: Boolean): List<GetSeriesGenreListResponse> {
|
||||
return repository.getGenreList(memberId = memberId, isAdult = isAdult)
|
||||
fun getGenreList(memberId: Long, isAdult: Boolean, contentType: ContentType): List<GetSeriesGenreListResponse> {
|
||||
return repository.getGenreList(memberId = memberId, isAdult = isAdult, contentType = contentType)
|
||||
}
|
||||
|
||||
fun getSeriesList(
|
||||
@@ -191,9 +192,15 @@ class ContentSeriesService(
|
||||
fun fetchSeriesByCurationId(
|
||||
curationId: Long,
|
||||
memberId: Long,
|
||||
isAdult: Boolean
|
||||
isAdult: Boolean,
|
||||
contentType: ContentType
|
||||
): List<GetSeriesListResponse.SeriesListItem> {
|
||||
val seriesList = repository.findByCurationId(curationId = curationId, memberId = memberId, isAdult = isAdult)
|
||||
val seriesList = repository.findByCurationId(
|
||||
curationId = curationId,
|
||||
memberId = memberId,
|
||||
isAdult = isAdult,
|
||||
contentType = contentType
|
||||
)
|
||||
return seriesToSeriesListItem(seriesList, isAdult)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user