Merge pull request '콘텐츠 메인 시리즈 탭 - 장르별 시리즈' (#266) from test into main
Reviewed-on: #266
This commit is contained in:
		| @@ -58,7 +58,7 @@ class AudioContentMainTabSeriesService( | ||||
|         ) | ||||
|  | ||||
|         // 시리즈 장르 | ||||
|         val genreList = seriesService.getGenreList(isAdult = isAdult) | ||||
|         val genreList = seriesService.getGenreList(memberId = memberId, isAdult = isAdult) | ||||
|  | ||||
|         // 장르별 추천 시리즈 | ||||
|         val recommendSeriesList = if (genreList.isNotEmpty()) { | ||||
|   | ||||
| @@ -37,7 +37,7 @@ interface ContentSeriesQueryRepository { | ||||
|     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 getGenreList(isAdult: Boolean, memberId: Long): List<GetSeriesGenreListResponse> | ||||
|     fun findByCurationId(curationId: Long, memberId: Long, isAdult: Boolean): List<Series> | ||||
| } | ||||
|  | ||||
| @@ -191,17 +191,36 @@ class ContentSeriesQueryRepositoryImpl( | ||||
|             .size | ||||
|     } | ||||
|  | ||||
|     override fun getGenreList(isAdult: Boolean): List<GetSeriesGenreListResponse> { | ||||
|     override fun getGenreList(isAdult: Boolean, memberId: Long): List<GetSeriesGenreListResponse> { | ||||
|         val blockMemberCondition = blockMember.member.id.eq(member.id) | ||||
|             .and(blockMember.isActive.isTrue) | ||||
|             .and(blockMember.blockedMember.id.eq(memberId)) | ||||
|  | ||||
|         var where = seriesGenre.isActive.isTrue | ||||
|             .and(series.isActive.isTrue) | ||||
|             .and(audioContent.isActive.isTrue) | ||||
|             .and(member.isActive.isTrue) | ||||
|             .and(member.isNotNull) | ||||
|             .and(member.role.eq(MemberRole.CREATOR)) | ||||
|             .and(audioContent.duration.isNotNull) | ||||
|             .and(audioContent.limited.isNull) | ||||
|             .and(blockMember.id.isNull) | ||||
|  | ||||
|         if (!isAdult) { | ||||
|             where = where.and(seriesGenre.isAdult.isFalse) | ||||
|                 .and(series.isAdult.isFalse) | ||||
|         } | ||||
|  | ||||
|         return queryFactory | ||||
|             .select(QGetSeriesGenreListResponse(seriesGenre.id, seriesGenre.genre)) | ||||
|             .from(seriesGenre) | ||||
|             .from(seriesContent) | ||||
|             .innerJoin(seriesContent.series, series) | ||||
|             .innerJoin(series.genre, seriesGenre) | ||||
|             .innerJoin(seriesContent.content, audioContent) | ||||
|             .innerJoin(series.member, member) | ||||
|             .leftJoin(blockMember).on(blockMemberCondition) | ||||
|             .where(where) | ||||
|             .groupBy(seriesGenre.id) | ||||
|             .orderBy(seriesGenre.orders.asc()) | ||||
|             .fetch() | ||||
|     } | ||||
|   | ||||
| @@ -44,8 +44,8 @@ class ContentSeriesService( | ||||
|         return seriesToSeriesListItem(originalAudioDramaList, isAdult) | ||||
|     } | ||||
|  | ||||
|     fun getGenreList(isAdult: Boolean): List<GetSeriesGenreListResponse> { | ||||
|         return repository.getGenreList(isAdult = isAdult) | ||||
|     fun getGenreList(memberId: Long, isAdult: Boolean): List<GetSeriesGenreListResponse> { | ||||
|         return repository.getGenreList(memberId = memberId, isAdult = isAdult) | ||||
|     } | ||||
|  | ||||
|     fun getSeriesList( | ||||
|   | ||||
		Reference in New Issue
	
	Block a user