From 1b7fc14f007551964f47fdb296b6456dea7f4766 Mon Sep 17 00:00:00 2001 From: Klaus Date: Tue, 7 Nov 2023 17:38:43 +0900 Subject: [PATCH] =?UTF-8?q?=EC=BD=98=ED=85=90=EC=B8=A0=20=EB=A9=94?= =?UTF-8?q?=EC=9D=B8=20API=20-=20@Transactional(readOnly=20=3D=20true)=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kr/co/vividnext/sodalive/content/AudioContentService.kt | 1 + .../sodalive/content/main/AudioContentMainService.kt | 5 +++++ .../kr/co/vividnext/sodalive/content/order/OrderService.kt | 1 + .../content/theme/AudioContentThemeQueryRepository.kt | 2 ++ 4 files changed, 9 insertions(+) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt index 6d12fe6..d0c2fe3 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt @@ -577,6 +577,7 @@ class AudioContentService( } } + @Transactional(readOnly = true) @Cacheable( cacheNames = ["cache_ttl_3_days"], key = "'contentRanking:' + ':' +" + 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 5804afd..dd81dfa 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 @@ -14,6 +14,7 @@ import org.springframework.beans.factory.annotation.Value import org.springframework.cache.annotation.Cacheable import org.springframework.data.domain.Pageable import org.springframework.stereotype.Service +import org.springframework.transaction.annotation.Transactional import java.time.DayOfWeek import java.time.LocalDateTime import java.time.temporal.TemporalAdjusters @@ -29,6 +30,7 @@ class AudioContentMainService( @Value("\${cloud.aws.cloud-front.host}") private val imageHost: String ) { + @Transactional(readOnly = true) fun getMain(memberId: Long, isAdult: Boolean): GetAudioContentMainResponse { // 2주일 이내에 콘텐츠를 올린 크리에이터 20명 조회 val newContentUploadCreatorList = getNewContentUploadCreatorList(memberId = memberId, isAdult = isAdult) @@ -120,6 +122,7 @@ class AudioContentMainService( return GetNewContentAllResponse(totalCount, items) } + @Transactional(readOnly = true) @Cacheable(cacheNames = ["default"], key = "'newContentUploadCreatorList:' + #memberId + ':' + #isAdult") fun getNewContentUploadCreatorList(memberId: Long, isAdult: Boolean): List { return repository.getNewContentUploadCreatorList( @@ -131,6 +134,7 @@ class AudioContentMainService( .toList() } + @Transactional(readOnly = true) @Cacheable(cacheNames = ["default"], key = "'contentMainBannerList:' + #memberId + ':' + #isAdult") fun getAudioContentMainBannerList(memberId: Long, isAdult: Boolean) = repository.getAudioContentMainBannerList(isAdult = isAdult) @@ -180,6 +184,7 @@ class AudioContentMainService( } .toList() + @Transactional(readOnly = true) @Cacheable(cacheNames = ["default"], key = "'contentCurationList:' + #memberId + ':' + #isAdult") fun getAudioContentCurationList(memberId: Long, isAdult: Boolean) = repository.getAudioContentCurations(isAdult = isAdult) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/order/OrderService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/order/OrderService.kt index 6dac0e6..0ca2b85 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/order/OrderService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/order/OrderService.kt @@ -92,6 +92,7 @@ class OrderService( ) } + @Transactional(readOnly = true) fun getAudioContentMainOrderList(memberId: Long, limit: Int): List { return repository.getAudioContentMainOrderList( dateTime = LocalDateTime.now(), diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/theme/AudioContentThemeQueryRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/theme/AudioContentThemeQueryRepository.kt index 8b220b2..da81883 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/theme/AudioContentThemeQueryRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/theme/AudioContentThemeQueryRepository.kt @@ -6,6 +6,7 @@ import kr.co.vividnext.sodalive.content.theme.QAudioContentTheme.audioContentThe import org.springframework.beans.factory.annotation.Value import org.springframework.cache.annotation.Cacheable import org.springframework.stereotype.Repository +import org.springframework.transaction.annotation.Transactional @Repository class AudioContentThemeQueryRepository( @@ -28,6 +29,7 @@ class AudioContentThemeQueryRepository( .fetch() } + @Transactional(readOnly = true) @Cacheable(cacheNames = ["default"], key = "'activeThemeOfContent:' + ':' + #isAdult") fun getActiveThemeOfContent(isAdult: Boolean = false): List { var where = audioContent.isActive.isTrue -- 2.40.1