콘텐츠 메인 단편 탭

- 큐레이션 추가
This commit is contained in:
Klaus 2025-02-17 23:34:58 +09:00
parent fbfb951825
commit 51c4044e2f
2 changed files with 23 additions and 4 deletions

View File

@ -5,6 +5,8 @@ import kr.co.vividnext.sodalive.content.ContentType
import kr.co.vividnext.sodalive.content.main.GetAudioContentMainItem import kr.co.vividnext.sodalive.content.main.GetAudioContentMainItem
import kr.co.vividnext.sodalive.content.main.GetAudioContentRankingItem import kr.co.vividnext.sodalive.content.main.GetAudioContentRankingItem
import kr.co.vividnext.sodalive.content.main.banner.AudioContentBannerService import kr.co.vividnext.sodalive.content.main.banner.AudioContentBannerService
import kr.co.vividnext.sodalive.content.main.curation.AudioContentCurationQueryRepository
import kr.co.vividnext.sodalive.content.main.tab.GetContentCurationResponse
import kr.co.vividnext.sodalive.content.theme.AudioContentThemeQueryRepository import kr.co.vividnext.sodalive.content.theme.AudioContentThemeQueryRepository
import kr.co.vividnext.sodalive.event.EventService import kr.co.vividnext.sodalive.event.EventService
import kr.co.vividnext.sodalive.member.Member import kr.co.vividnext.sodalive.member.Member
@ -18,7 +20,8 @@ class AudioContentMainTabContentService(
private val audioContentRepository: AudioContentRepository, private val audioContentRepository: AudioContentRepository,
private val audioContentThemeRepository: AudioContentThemeQueryRepository, private val audioContentThemeRepository: AudioContentThemeQueryRepository,
private val rankingService: RankingService, private val rankingService: RankingService,
private val eventService: EventService private val eventService: EventService,
private val curationRepository: AudioContentCurationQueryRepository
) { ) {
fun fetchData( fun fetchData(
isAdultContentVisible: Boolean, isAdultContentVisible: Boolean,
@ -27,10 +30,11 @@ class AudioContentMainTabContentService(
): GetContentMainTabContentResponse { ): GetContentMainTabContentResponse {
val memberId = member.id!! val memberId = member.id!!
val isAdult = member.auth != null val isAdult = member.auth != null
val tabId = 3L
// 단편 배너 // 단편 배너
val contentBannerList = bannerService.getBannerList( val contentBannerList = bannerService.getBannerList(
tabId = 3, tabId = tabId,
memberId = memberId, memberId = memberId,
isAdult = isAdult isAdult = isAdult
) )
@ -83,6 +87,18 @@ class AudioContentMainTabContentService(
emptyList() emptyList()
} }
val curationList = curationRepository.findByContentMainTabId(tabId = tabId, isAdult = isAdult)
.map {
GetContentCurationResponse(
title = it.title,
items = audioContentRepository.findAudioContentByCurationIdV2(
curationId = it.id!!,
memberId = memberId,
isAdult = isAdult
)
)
}
return GetContentMainTabContentResponse( return GetContentMainTabContentResponse(
bannerList = contentBannerList, bannerList = contentBannerList,
contentThemeList = themeOfContentList, contentThemeList = themeOfContentList,
@ -91,7 +107,8 @@ class AudioContentMainTabContentService(
rankContentList = rankContentList, rankContentList = rankContentList,
contentRankCreatorList = contentRankCreatorList, contentRankCreatorList = contentRankCreatorList,
salesCountRankContentList = salesCountRankContentList, salesCountRankContentList = salesCountRankContentList,
eventBannerList = eventBannerList eventBannerList = eventBannerList,
curationList = curationList
) )
} }

View File

@ -4,6 +4,7 @@ import kr.co.vividnext.sodalive.content.main.ContentCreatorResponse
import kr.co.vividnext.sodalive.content.main.GetAudioContentMainItem import kr.co.vividnext.sodalive.content.main.GetAudioContentMainItem
import kr.co.vividnext.sodalive.content.main.GetAudioContentRankingItem import kr.co.vividnext.sodalive.content.main.GetAudioContentRankingItem
import kr.co.vividnext.sodalive.content.main.banner.GetAudioContentBannerResponse import kr.co.vividnext.sodalive.content.main.banner.GetAudioContentBannerResponse
import kr.co.vividnext.sodalive.content.main.tab.GetContentCurationResponse
import kr.co.vividnext.sodalive.event.GetEventResponse import kr.co.vividnext.sodalive.event.GetEventResponse
data class GetContentMainTabContentResponse( data class GetContentMainTabContentResponse(
@ -15,5 +16,6 @@ data class GetContentMainTabContentResponse(
val rankContentList: List<GetAudioContentRankingItem>, val rankContentList: List<GetAudioContentRankingItem>,
val contentRankCreatorList: List<ContentCreatorResponse>, val contentRankCreatorList: List<ContentCreatorResponse>,
val salesCountRankContentList: List<GetAudioContentRankingItem>, val salesCountRankContentList: List<GetAudioContentRankingItem>,
val eventBannerList: GetEventResponse val eventBannerList: GetEventResponse,
val curationList: List<GetContentCurationResponse>
) )