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

- 19금 콘텐츠 (안)보기 설정
- 남성향, 여성향 콘텐츠만 보기 설정 적용
This commit is contained in:
2025-03-18 14:42:04 +09:00
parent 537ec88d05
commit b3b3d46696
26 changed files with 777 additions and 185 deletions

View File

@@ -1,5 +1,6 @@
package kr.co.vividnext.sodalive.rank
import kr.co.vividnext.sodalive.content.ContentType
import kr.co.vividnext.sodalive.content.main.ContentCreatorResponse
import kr.co.vividnext.sodalive.content.main.GetAudioContentRankingItem
import kr.co.vividnext.sodalive.content.series.GetSeriesListResponse
@@ -40,6 +41,7 @@ class RankingService(
fun getContentRanking(
memberId: Long,
isAdult: Boolean,
contentType: ContentType,
startDate: LocalDateTime,
endDate: LocalDateTime,
offset: Long = 0,
@@ -50,6 +52,7 @@ class RankingService(
return repository.getAudioContentRanking(
memberId = memberId,
isAdult = isAdult,
contentType = contentType,
startDate = startDate,
endDate = endDate,
offset = offset,
@@ -62,21 +65,24 @@ class RankingService(
fun getSeriesRanking(
memberId: Long,
isAdult: Boolean,
contentType: ContentType,
startDate: LocalDateTime,
endDate: LocalDateTime
): List<GetSeriesListResponse.SeriesListItem> {
val seriesList = repository.getSeriesRanking(memberId, isAdult, startDate, endDate)
val seriesList = repository.getSeriesRanking(memberId, isAdult, contentType, startDate, endDate)
return seriesToSeriesListItem(seriesList = seriesList, isAdult = isAdult)
}
fun getSeriesAllRankingByGenre(
memberId: Long,
isAdult: Boolean,
contentType: ContentType,
genreId: Long
): List<GetSeriesListResponse.SeriesListItem> {
val seriesList = repository.getSeriesAllRankingByGenre(
memberId = memberId,
isAdult = isAdult,
contentType = contentType,
genreId = genreId
)
return seriesToSeriesListItem(seriesList = seriesList, isAdult = isAdult)
@@ -84,17 +90,20 @@ class RankingService(
fun getCompleteSeriesRankingTotalCount(
memberId: Long,
isAdult: Boolean
isAdult: Boolean,
contentType: ContentType
): Int {
return repository.getCompleteSeriesRankingTotalCount(
memberId = memberId,
isAdult = isAdult
isAdult = isAdult,
contentType = contentType
)
}
fun getCompleteSeriesRanking(
memberId: Long,
isAdult: Boolean,
contentType: ContentType,
startDate: LocalDateTime,
endDate: LocalDateTime,
offset: Long = 0,
@@ -103,6 +112,7 @@ class RankingService(
val seriesList = repository.getCompleteSeriesRanking(
memberId = memberId,
isAdult = isAdult,
contentType = contentType,
startDate = startDate,
endDate = endDate,
offset = offset,
@@ -179,38 +189,57 @@ class RankingService(
fun fetchCreatorBySellContentCountRankTop20(
memberId: Long,
contentType: ContentType,
startDate: LocalDateTime,
endDate: LocalDateTime
): List<ContentCreatorResponse> {
return repository.fetchCreatorBySellContentCountRankTop20(memberId, startDate, endDate)
return repository.fetchCreatorBySellContentCountRankTop20(memberId, contentType, startDate, endDate)
}
fun fetchCreatorContentBySalesCountTop4(
creatorId: Long,
isAdult: Boolean,
contentType: ContentType,
theme: String = ""
): List<GetAudioContentRankingItem> {
return repository.fetchCreatorContentBySalesCountTop4(creatorId, isAdult, theme)
return repository.fetchCreatorContentBySalesCountTop4(creatorId, isAdult, contentType, theme)
}
fun fetchCreatorContentByLikeCountTop4(creatorId: Long, isAdult: Boolean): List<GetAudioContentRankingItem> {
return repository.fetchCreatorContentByLikeCountTop4(creatorId, isAdult)
fun fetchCreatorContentByLikeCountTop4(
creatorId: Long,
isAdult: Boolean,
contentType: ContentType
): List<GetAudioContentRankingItem> {
return repository.fetchCreatorContentByLikeCountTop4(creatorId, isAdult, contentType)
}
fun fetchCreatorBySeriesRevenueRankTop20(
memberId: Long,
contentType: ContentType,
startDate: LocalDateTime,
endDate: LocalDateTime
): List<ContentCreatorResponse> {
return repository.fetchCreatorBySeriesRevenueRankTop20(memberId, startDate, endDate)
return repository.fetchCreatorBySeriesRevenueRankTop20(memberId, contentType, startDate, endDate)
}
fun fetchCreatorSeriesBySales(creatorId: Long, isAdult: Boolean): List<GetSeriesListResponse.SeriesListItem> {
val seriesList = repository.fetchCreatorSeriesBySales(creatorId = creatorId, isAdult = isAdult)
fun fetchCreatorSeriesBySales(
creatorId: Long,
isAdult: Boolean,
contentType: ContentType
): List<GetSeriesListResponse.SeriesListItem> {
val seriesList = repository.fetchCreatorSeriesBySales(
creatorId = creatorId,
isAdult = isAdult,
contentType = contentType
)
return seriesToSeriesListItem(seriesList, isAdult)
}
fun fetchFreeContentByCreatorIdTop4(creatorId: Long, isAdult: Boolean): List<GetAudioContentRankingItem> {
return repository.fetchFreeContentByCreatorIdTop4(creatorId, isAdult)
fun fetchFreeContentByCreatorIdTop4(
creatorId: Long,
isAdult: Boolean,
contentType: ContentType
): List<GetAudioContentRankingItem> {
return repository.fetchFreeContentByCreatorIdTop4(creatorId, isAdult, contentType)
}
}