fix(chat): 배너 목록 응답 생성을 서비스로 옮긴다

This commit is contained in:
2026-06-29 11:24:21 +09:00
parent 9a241f7137
commit 036cd40539
2 changed files with 91 additions and 2 deletions

View File

@@ -1,5 +1,7 @@
package kr.co.vividnext.sodalive.chat.character.service
import kr.co.vividnext.sodalive.admin.chat.dto.ChatCharacterBannerListPageResponse
import kr.co.vividnext.sodalive.admin.chat.dto.ChatCharacterBannerResponse
import kr.co.vividnext.sodalive.chat.character.ChatCharacterBanner
import kr.co.vividnext.sodalive.chat.character.repository.ChatCharacterBannerRepository
import kr.co.vividnext.sodalive.chat.character.repository.ChatCharacterRepository
@@ -11,6 +13,7 @@ import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Transactional
@Service
@Transactional(readOnly = true)
class ChatCharacterBannerService(
private val bannerRepository: ChatCharacterBannerRepository,
private val characterRepository: ChatCharacterRepository
@@ -18,8 +21,18 @@ class ChatCharacterBannerService(
/**
* 활성화된 모든 배너 조회 (정렬 순서대로)
*/
fun getActiveBanners(pageable: Pageable): Page<ChatCharacterBanner> {
return bannerRepository.findByIsActiveTrueOrderBySortOrderAsc(pageable)
fun getActiveBanners(pageable: Pageable, imageHost: String): ChatCharacterBannerListPageResponse {
val banners = bannerRepository.findByIsActiveTrueOrderBySortOrderAsc(pageable)
return ChatCharacterBannerListPageResponse(
totalCount = banners.totalElements,
content = banners.content.map {
ChatCharacterBannerResponse.from(
banner = it,
imageHost = imageHost,
appendLanguageToCharacterName = true
)
}
)
}
fun getDisplayBanners(pageable: Pageable, lang: Lang): Page<ChatCharacterBanner> {