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

- 남성향, 여성향 선택한 유저의 경우 해당 성향의 콘텐츠 + 미인증 크리에이터의 콘텐츠를 보여주도록 수정
This commit is contained in:
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
}
)
)
) )
} }
} }