콘텐츠 메인 시리즈 탭

- 오리지널 드라마 전체보기 API
This commit is contained in:
2025-02-14 03:20:18 +09:00
parent babfb27b1f
commit bebfda0343
4 changed files with 64 additions and 0 deletions

View File

@@ -36,6 +36,7 @@ interface ContentSeriesQueryRepository {
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): List<GetSeriesGenreListResponse>
fun findByCurationId(curationId: Long, memberId: Long, isAdult: Boolean): List<Series>
}
@@ -167,6 +168,29 @@ class ContentSeriesQueryRepositoryImpl(
.fetch()
}
override fun getOriginalAudioDramaTotalCount(memberId: Long, isAdult: Boolean): Int {
val blockMemberCondition = blockMember.member.id.eq(member.id)
.and(blockMember.isActive.isTrue)
.and(blockMember.blockedMember.id.eq(memberId))
var where = series.isOriginal.isTrue
.and(series.isActive.isTrue)
.and(blockMember.id.isNull)
if (!isAdult) {
where = where.and(series.isAdult.isFalse)
}
return queryFactory
.select(series.id)
.from(series)
.innerJoin(series.member, member)
.leftJoin(blockMember).on(blockMemberCondition)
.where(where)
.fetch()
.size
}
override fun getGenreList(isAdult: Boolean): List<GetSeriesGenreListResponse> {
var where = seriesGenre.isActive.isTrue

View File

@@ -30,6 +30,10 @@ 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 getOriginalAudioDramaList(
memberId: Long,
isAdult: Boolean,