From c0c61da44bafc71ea3a920619b8d711795aa2c0c Mon Sep 17 00:00:00 2001 From: Klaus Date: Mon, 15 Dec 2025 11:45:56 +0900 Subject: [PATCH] =?UTF-8?q?=EC=BD=98=ED=85=90=EC=B8=A0=20=ED=85=8C?= =?UTF-8?q?=EB=A7=88=20=EC=A1=B0=ED=9A=8C=20=EB=A1=9C=EC=A7=81=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../content/main/AudioContentMainService.kt | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/main/AudioContentMainService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/main/AudioContentMainService.kt index d6977a2..b226f1e 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/main/AudioContentMainService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/main/AudioContentMainService.kt @@ -6,6 +6,7 @@ import kr.co.vividnext.sodalive.content.main.banner.AudioContentBannerType import kr.co.vividnext.sodalive.content.main.banner.GetAudioContentBannerResponse import kr.co.vividnext.sodalive.content.main.curation.GetAudioContentCurationResponse import kr.co.vividnext.sodalive.content.theme.AudioContentThemeQueryRepository +import kr.co.vividnext.sodalive.content.theme.AudioContentThemeService import kr.co.vividnext.sodalive.content.translation.ContentTranslationRepository import kr.co.vividnext.sodalive.event.EventItem import kr.co.vividnext.sodalive.i18n.LangContext @@ -22,6 +23,7 @@ class AudioContentMainService( private val repository: AudioContentRepository, private val blockMemberRepository: BlockMemberRepository, private val audioContentThemeRepository: AudioContentThemeQueryRepository, + private val audioContentThemeService: AudioContentThemeService, private val contentTranslationRepository: ContentTranslationRepository, @@ -31,9 +33,21 @@ class AudioContentMainService( private val imageHost: String ) { @Transactional(readOnly = true) - @Cacheable(cacheNames = ["default"], key = "'themeList:' + ':' + #isAdult") fun getThemeList(isAdult: Boolean, contentType: ContentType): List { - return audioContentThemeRepository.getActiveThemeOfContent(isAdult = isAdult, contentType = contentType) + /** + * 콘텐츠 테마 조회 + * + * - langContext에 따라 기본 한국어 데이터 혹은 번역된 콘텐츠 테마를 조회해야 함 + * + * - 번역된 테마 데이터가 없다면 번역하여 반환 + * - 번역된 데이터가 있다면 번역된 데이터를 조회하여 반환 + */ + // 표시용 테마 목록은 언어 컨텍스트에 따라 번역된 값을 반환해야 한다. + // AudioContentThemeService가 번역/저장을 처리하므로 이를 사용한다. + return audioContentThemeService.getActiveThemeOfContent( + isAdult = isAdult, + contentType = contentType + ) } @Transactional(readOnly = true)