diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/banner/AdminContentBannerRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/banner/AdminContentBannerRepository.kt index 77b1014..00933fc 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/banner/AdminContentBannerRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/banner/AdminContentBannerRepository.kt @@ -36,6 +36,7 @@ class AdminContentBannerQueryRepositoryImpl( .select( QGetAdminContentBannerResponse( audioContentBanner.id, + audioContentBanner.tab.id.coalesce(1), audioContentBanner.type, audioContentBanner.thumbnailImage.prepend("/").prepend(cloudFrontHost), audioContentBanner.event.id, diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/banner/AdminContentBannerService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/banner/AdminContentBannerService.kt index 10a723e..3811632 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/banner/AdminContentBannerService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/banner/AdminContentBannerService.kt @@ -2,6 +2,7 @@ package kr.co.vividnext.sodalive.admin.content.banner import com.fasterxml.jackson.databind.ObjectMapper import kr.co.vividnext.sodalive.admin.content.series.AdminContentSeriesRepository +import kr.co.vividnext.sodalive.admin.content.tab.AdminContentMainTabRepository import kr.co.vividnext.sodalive.aws.s3.S3Uploader import kr.co.vividnext.sodalive.common.SodaException import kr.co.vividnext.sodalive.content.main.banner.AudioContentBanner @@ -22,6 +23,7 @@ class AdminContentBannerService( private val memberRepository: MemberRepository, private val seriesRepository: AdminContentSeriesRepository, private val eventRepository: EventRepository, + private val contentMainTabRepository: AdminContentMainTabRepository, private val objectMapper: ObjectMapper, @Value("\${cloud.aws.s3.bucket}") @@ -64,12 +66,19 @@ class AdminContentBannerService( null } + val tab = if (request.tabId !== null) { + contentMainTabRepository.findByIdOrNull(request.tabId) + } else { + null + } + val audioContentBanner = AudioContentBanner(type = request.type) audioContentBanner.link = request.link audioContentBanner.isAdult = request.isAdult audioContentBanner.event = event audioContentBanner.creator = creator audioContentBanner.series = series + audioContentBanner.tab = tab repository.save(audioContentBanner) val fileName = generateFileName() @@ -156,6 +165,10 @@ class AdminContentBannerService( audioContentBanner.type = request.type } + + if (request.tabId !== null) { + audioContentBanner.tab = contentMainTabRepository.findByIdOrNull(request.tabId) + } } @Transactional diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/banner/GetAdminContentBannerResponse.kt b/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/banner/GetAdminContentBannerResponse.kt index bfd21d1..2ba9348 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/banner/GetAdminContentBannerResponse.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/admin/content/banner/GetAdminContentBannerResponse.kt @@ -5,6 +5,7 @@ import kr.co.vividnext.sodalive.content.main.banner.AudioContentBannerType data class GetAdminContentBannerResponse @QueryProjection constructor( val id: Long, + val tabId: Long?, val type: AudioContentBannerType, val thumbnailImageUrl: String, val eventId: Long?,