콘텐츠 메인 홈, 모닝콜, asmr, 단편, 무료, 다시듣기, 시리즈

- 남성향, 여성향 선택한 유저의 경우 해당 성향의 콘텐츠 + 미인증 크리에이터의 콘텐츠를 보여주도록 수정
This commit is contained in:
Klaus 2025-03-18 17:10:19 +09:00
parent b3b3d46696
commit c7eae53b22
8 changed files with 285 additions and 108 deletions

View File

@ -404,7 +404,15 @@ class AudioContentQueryRepositoryImpl(
} else { } else {
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
audioContent.member.auth.gender.eq(if (contentType == ContentType.MALE) 0 else 1) audioContent.member.isNull.or(
audioContent.member.auth.gender.eq(
if (contentType == ContentType.MALE) {
0
} else {
1
}
)
)
) )
} }
} }
@ -471,6 +479,7 @@ class AudioContentQueryRepositoryImpl(
} else { } else {
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
audioContent.member.isNull.or(
audioContent.member.auth.gender.eq( audioContent.member.auth.gender.eq(
if (contentType == ContentType.MALE) { if (contentType == ContentType.MALE) {
0 0
@ -479,6 +488,7 @@ class AudioContentQueryRepositoryImpl(
} }
) )
) )
)
} }
} }
@ -534,6 +544,7 @@ class AudioContentQueryRepositoryImpl(
} else { } else {
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
audioContent.member.isNull.or(
audioContent.member.auth.gender.eq( audioContent.member.auth.gender.eq(
if (contentType == ContentType.MALE) { if (contentType == ContentType.MALE) {
0 0
@ -542,6 +553,7 @@ class AudioContentQueryRepositoryImpl(
} }
) )
) )
)
} }
} }
@ -579,7 +591,15 @@ class AudioContentQueryRepositoryImpl(
} else { } else {
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
audioContent.member.auth.gender.eq(if (contentType == ContentType.MALE) 0 else 1) audioContent.member.isNull.or(
audioContent.member.auth.gender.eq(
if (contentType == ContentType.MALE) {
0
} else {
1
}
)
)
) )
} }
} }
@ -619,7 +639,15 @@ class AudioContentQueryRepositoryImpl(
} else { } else {
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
audioContent.member.auth.gender.eq(if (contentType == ContentType.MALE) 0 else 1) audioContent.member.isNull.or(
audioContent.member.auth.gender.eq(
if (contentType == ContentType.MALE) {
0
} else {
1
}
)
)
) )
} }
} }
@ -666,7 +694,15 @@ class AudioContentQueryRepositoryImpl(
} else { } else {
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
audioContent.member.auth.gender.eq(if (contentType == ContentType.MALE) 0 else 1) audioContent.member.isNull.or(
audioContent.member.auth.gender.eq(
if (contentType == ContentType.MALE) {
0
} else {
1
}
)
)
) )
} }
} }
@ -784,7 +820,15 @@ class AudioContentQueryRepositoryImpl(
} else { } else {
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
audioContent.member.auth.gender.eq(if (contentType == ContentType.MALE) 0 else 1) audioContent.member.isNull.or(
audioContent.member.auth.gender.eq(
if (contentType == ContentType.MALE) {
0
} else {
1
}
)
)
) )
} }
} }
@ -838,7 +882,15 @@ class AudioContentQueryRepositoryImpl(
} else { } else {
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
audioContent.member.auth.gender.eq(if (contentType == ContentType.MALE) 0 else 1) audioContent.member.isNull.or(
audioContent.member.auth.gender.eq(
if (contentType == ContentType.MALE) {
0
} else {
1
}
)
)
) )
} }
} }

View File

@ -23,7 +23,15 @@ class AudioContentCurationQueryRepository(private val queryFactory: JPAQueryFact
} else { } else {
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
audioContent.member.auth.gender.eq(if (contentType == ContentType.MALE) 0 else 1) audioContent.member.isNull.or(
audioContent.member.auth.gender.eq(
if (contentType == ContentType.MALE) {
0
} else {
1
}
)
)
) )
} }
} }
@ -31,6 +39,7 @@ class AudioContentCurationQueryRepository(private val queryFactory: JPAQueryFact
return queryFactory return queryFactory
.select(audioContent.id) .select(audioContent.id)
.from(audioContent) .from(audioContent)
.innerJoin(audioContent.member, member)
.where(where) .where(where)
.fetch() .fetch()
.size .size
@ -62,7 +71,15 @@ class AudioContentCurationQueryRepository(private val queryFactory: JPAQueryFact
} else { } else {
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
audioContent.member.auth.gender.eq(if (contentType == ContentType.MALE) 0 else 1) audioContent.member.isNull.or(
audioContent.member.auth.gender.eq(
if (contentType == ContentType.MALE) {
0
} else {
1
}
)
)
) )
} }
} }

View File

@ -46,6 +46,7 @@ class AudioContentMainTabRepository(
} else { } else {
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
audioContent.member.isNull.or(
audioContent.member.auth.gender.eq( audioContent.member.auth.gender.eq(
if (contentType == ContentType.MALE) { if (contentType == ContentType.MALE) {
0 0
@ -54,6 +55,7 @@ class AudioContentMainTabRepository(
} }
) )
) )
)
} }
} }
@ -103,6 +105,7 @@ class AudioContentMainTabRepository(
} else { } else {
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
audioContent.member.isNull.or(
audioContent.member.auth.gender.eq( audioContent.member.auth.gender.eq(
if (contentType == ContentType.MALE) { if (contentType == ContentType.MALE) {
0 0
@ -111,6 +114,7 @@ class AudioContentMainTabRepository(
} }
) )
) )
)
} }
} }

View File

@ -25,7 +25,15 @@ class RecommendSeriesRepository(
} else { } else {
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
series.member.auth.gender.eq(if (contentType == ContentType.MALE) 0 else 1) series.member.isNull.or(
series.member.auth.gender.eq(
if (contentType == ContentType.MALE) {
0
} else {
1
}
)
)
) )
} }
} }
@ -59,6 +67,7 @@ class RecommendSeriesRepository(
} else { } else {
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
series.member.isNull.or(
series.member.auth.gender.eq( series.member.auth.gender.eq(
if (contentType == ContentType.MALE) { if (contentType == ContentType.MALE) {
0 0
@ -67,6 +76,7 @@ class RecommendSeriesRepository(
} }
) )
) )
)
} }
} }

View File

@ -31,6 +31,7 @@ class ContentMainTabTagCurationRepository(
} else { } else {
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
audioContent.member.isNull.or(
audioContent.member.auth.gender.eq( audioContent.member.auth.gender.eq(
if (contentType == ContentType.MALE) { if (contentType == ContentType.MALE) {
0 0
@ -39,6 +40,7 @@ class ContentMainTabTagCurationRepository(
} }
) )
) )
)
} }
} }
@ -73,6 +75,7 @@ class ContentMainTabTagCurationRepository(
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
audioContent.member.isNull.or(
audioContent.member.auth.gender.eq( audioContent.member.auth.gender.eq(
if (contentType == ContentType.MALE) { if (contentType == ContentType.MALE) {
0 0
@ -81,6 +84,7 @@ class ContentMainTabTagCurationRepository(
} }
) )
) )
)
} }
return queryFactory return queryFactory

View File

@ -137,7 +137,15 @@ class ContentSeriesQueryRepositoryImpl(
} else { } else {
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
series.member.auth.gender.eq(if (contentType == ContentType.MALE) 0 else 1) series.member.isNull.or(
series.member.auth.gender.eq(
if (contentType == ContentType.MALE) {
0
} else {
1
}
)
)
) )
} }
} }
@ -171,6 +179,7 @@ class ContentSeriesQueryRepositoryImpl(
} else { } else {
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
series.member.isNull.or(
series.member.auth.gender.eq( series.member.auth.gender.eq(
if (contentType == ContentType.MALE) { if (contentType == ContentType.MALE) {
0 0
@ -179,6 +188,7 @@ class ContentSeriesQueryRepositoryImpl(
} }
) )
) )
)
} }
} }
@ -207,6 +217,7 @@ class ContentSeriesQueryRepositoryImpl(
} else { } else {
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
series.member.isNull.or(
series.member.auth.gender.eq( series.member.auth.gender.eq(
if (contentType == ContentType.MALE) { if (contentType == ContentType.MALE) {
0 0
@ -215,6 +226,7 @@ class ContentSeriesQueryRepositoryImpl(
} }
) )
) )
)
} }
} }
@ -253,6 +265,7 @@ class ContentSeriesQueryRepositoryImpl(
} else { } else {
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
series.member.isNull.or(
series.member.auth.gender.eq( series.member.auth.gender.eq(
if (contentType == ContentType.MALE) { if (contentType == ContentType.MALE) {
0 0
@ -261,6 +274,7 @@ class ContentSeriesQueryRepositoryImpl(
} }
) )
) )
)
} }
} }
@ -300,7 +314,15 @@ class ContentSeriesQueryRepositoryImpl(
} else { } else {
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
series.member.auth.gender.eq(if (contentType == ContentType.MALE) 0 else 1) series.member.isNull.or(
series.member.auth.gender.eq(
if (contentType == ContentType.MALE) {
0
} else {
1
}
)
)
) )
} }
} }

View File

@ -4,6 +4,7 @@ import com.querydsl.jpa.impl.JPAQueryFactory
import kr.co.vividnext.sodalive.content.ContentType import kr.co.vividnext.sodalive.content.ContentType
import kr.co.vividnext.sodalive.content.QAudioContent.audioContent import kr.co.vividnext.sodalive.content.QAudioContent.audioContent
import kr.co.vividnext.sodalive.content.theme.QAudioContentTheme.audioContentTheme import kr.co.vividnext.sodalive.content.theme.QAudioContentTheme.audioContentTheme
import kr.co.vividnext.sodalive.member.QMember.member
import org.springframework.beans.factory.annotation.Value import org.springframework.beans.factory.annotation.Value
import org.springframework.stereotype.Repository import org.springframework.stereotype.Repository
@ -41,7 +42,15 @@ class AudioContentThemeQueryRepository(
} else { } else {
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
audioContent.member.auth.gender.eq(if (contentType == ContentType.MALE) 0 else 1) audioContent.member.isNull.or(
audioContent.member.auth.gender.eq(
if (contentType == ContentType.MALE) {
0
} else {
1
}
)
)
) )
} }
} }
@ -55,6 +64,7 @@ class AudioContentThemeQueryRepository(
return queryFactory return queryFactory
.select(audioContentTheme.theme) .select(audioContentTheme.theme)
.from(audioContent) .from(audioContent)
.innerJoin(audioContent.member, member)
.innerJoin(audioContent.theme, audioContentTheme) .innerJoin(audioContent.theme, audioContentTheme)
.where(where) .where(where)
.groupBy(audioContentTheme.id) .groupBy(audioContentTheme.id)

View File

@ -71,6 +71,7 @@ class RankingRepository(
} else { } else {
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
audioContent.member.isNull.or(
audioContent.member.auth.gender.eq( audioContent.member.auth.gender.eq(
if (contentType == ContentType.MALE) { if (contentType == ContentType.MALE) {
0 0
@ -79,6 +80,7 @@ class RankingRepository(
} }
) )
) )
)
} }
} }
@ -206,6 +208,7 @@ class RankingRepository(
} else { } else {
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
series.member.isNull.or(
series.member.auth.gender.eq( series.member.auth.gender.eq(
if (contentType == ContentType.MALE) { if (contentType == ContentType.MALE) {
0 0
@ -214,6 +217,7 @@ class RankingRepository(
} }
) )
) )
)
} }
} }
@ -256,6 +260,7 @@ class RankingRepository(
} else { } else {
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
series.member.isNull.or(
series.member.auth.gender.eq( series.member.auth.gender.eq(
if (contentType == ContentType.MALE) { if (contentType == ContentType.MALE) {
0 0
@ -264,6 +269,7 @@ class RankingRepository(
} }
) )
) )
)
} }
} }
@ -313,7 +319,15 @@ class RankingRepository(
} else { } else {
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
series.member.auth.gender.eq(if (contentType == ContentType.MALE) 0 else 1) series.member.isNull.or(
series.member.auth.gender.eq(
if (contentType == ContentType.MALE) {
0
} else {
1
}
)
)
) )
} }
} }
@ -360,7 +374,15 @@ class RankingRepository(
} else { } else {
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
series.member.auth.gender.eq(if (contentType == ContentType.MALE) 0 else 1) series.member.isNull.or(
series.member.auth.gender.eq(
if (contentType == ContentType.MALE) {
0
} else {
1
}
)
)
) )
} }
} }
@ -406,6 +428,7 @@ class RankingRepository(
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
memberCondition = memberCondition.and( memberCondition = memberCondition.and(
member.auth.isNull.or(
member.auth.gender.eq( member.auth.gender.eq(
if (contentType == ContentType.MALE) { if (contentType == ContentType.MALE) {
0 0
@ -414,6 +437,7 @@ class RankingRepository(
} }
) )
) )
)
} }
val where = audioContent.isActive.isTrue val where = audioContent.isActive.isTrue
@ -463,7 +487,15 @@ class RankingRepository(
} else { } else {
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
audioContent.member.auth.gender.eq(if (contentType == ContentType.MALE) 0 else 1) audioContent.member.isNull.or(
audioContent.member.auth.gender.eq(
if (contentType == ContentType.MALE) {
0
} else {
1
}
)
)
) )
} }
} }
@ -523,7 +555,15 @@ class RankingRepository(
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
audioContent.member.auth.gender.eq(if (contentType == ContentType.MALE) 0 else 1) audioContent.member.isNull.or(
audioContent.member.auth.gender.eq(
if (contentType == ContentType.MALE) {
0
} else {
1
}
)
)
) )
} }
@ -568,7 +608,15 @@ class RankingRepository(
} else { } else {
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
series.member.auth.gender.eq(if (contentType == ContentType.MALE) 0 else 1) series.member.isNull.or(
series.member.auth.gender.eq(
if (contentType == ContentType.MALE) {
0
} else {
1
}
)
)
) )
} }
} }
@ -609,6 +657,7 @@ class RankingRepository(
} else { } else {
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
audioContent.member.isNull.or(
audioContent.member.auth.gender.eq( audioContent.member.auth.gender.eq(
if (contentType == ContentType.MALE) { if (contentType == ContentType.MALE) {
0 0
@ -617,6 +666,7 @@ class RankingRepository(
} }
) )
) )
)
} }
} }
@ -663,7 +713,15 @@ class RankingRepository(
} else { } else {
if (contentType != ContentType.ALL) { if (contentType != ContentType.ALL) {
where = where.and( where = where.and(
audioContent.member.auth.gender.eq(if (contentType == ContentType.MALE) 0 else 1) audioContent.member.isNull.or(
audioContent.member.auth.gender.eq(
if (contentType == ContentType.MALE) {
0
} else {
1
}
)
)
) )
} }
} }