콘텐츠 메인 API - @Transactional(readOnly = true) 추가
This commit is contained in:
parent
9a394b7dae
commit
1b7fc14f00
|
@ -577,6 +577,7 @@ class AudioContentService(
|
|||
}
|
||||
}
|
||||
|
||||
@Transactional(readOnly = true)
|
||||
@Cacheable(
|
||||
cacheNames = ["cache_ttl_3_days"],
|
||||
key = "'contentRanking:' + ':' +" +
|
||||
|
|
|
@ -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<GetNewContentUploadCreator> {
|
||||
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)
|
||||
|
|
|
@ -92,6 +92,7 @@ class OrderService(
|
|||
)
|
||||
}
|
||||
|
||||
@Transactional(readOnly = true)
|
||||
fun getAudioContentMainOrderList(memberId: Long, limit: Int): List<GetAudioContentMainItem> {
|
||||
return repository.getAudioContentMainOrderList(
|
||||
dateTime = LocalDateTime.now(),
|
||||
|
|
|
@ -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<String> {
|
||||
var where = audioContent.isActive.isTrue
|
||||
|
|
Loading…
Reference in New Issue