캐릭터 챗봇 #338
|
@ -1,6 +1,7 @@
|
||||||
package kr.co.vividnext.sodalive.admin.chat
|
package kr.co.vividnext.sodalive.admin.chat
|
||||||
|
|
||||||
import com.amazonaws.services.s3.model.ObjectMetadata
|
import com.amazonaws.services.s3.model.ObjectMetadata
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper
|
||||||
import kr.co.vividnext.sodalive.admin.chat.character.dto.ChatCharacterSearchListPageResponse
|
import kr.co.vividnext.sodalive.admin.chat.character.dto.ChatCharacterSearchListPageResponse
|
||||||
import kr.co.vividnext.sodalive.admin.chat.character.service.AdminChatCharacterService
|
import kr.co.vividnext.sodalive.admin.chat.character.service.AdminChatCharacterService
|
||||||
import kr.co.vividnext.sodalive.admin.chat.dto.ChatCharacterBannerListPageResponse
|
import kr.co.vividnext.sodalive.admin.chat.dto.ChatCharacterBannerListPageResponse
|
||||||
|
@ -105,14 +106,20 @@ class AdminChatBannerController(
|
||||||
* 배너 등록 API
|
* 배너 등록 API
|
||||||
*
|
*
|
||||||
* @param image 배너 이미지
|
* @param image 배너 이미지
|
||||||
* @param request 배너 등록 요청 정보 (캐릭터 ID와 선택적으로 정렬 순서 포함)
|
* @param requestString 배너 등록 요청 정보 (캐릭터 ID와 선택적으로 정렬 순서 포함)
|
||||||
* @return 등록된 배너 정보
|
* @return 등록된 배너 정보
|
||||||
*/
|
*/
|
||||||
@PostMapping("/register")
|
@PostMapping("/register")
|
||||||
fun registerBanner(
|
fun registerBanner(
|
||||||
@RequestPart("image") image: MultipartFile,
|
@RequestPart("image") image: MultipartFile,
|
||||||
@RequestPart("request") request: ChatCharacterBannerRegisterRequest
|
@RequestPart("request") requestString: String
|
||||||
) = run {
|
) = run {
|
||||||
|
val objectMapper = ObjectMapper()
|
||||||
|
val request = objectMapper.readValue(
|
||||||
|
requestString,
|
||||||
|
ChatCharacterBannerRegisterRequest::class.java
|
||||||
|
)
|
||||||
|
|
||||||
// 1. 먼저 빈 이미지 경로로 배너 등록 (정렬 순서 포함)
|
// 1. 먼저 빈 이미지 경로로 배너 등록 (정렬 순서 포함)
|
||||||
val banner = bannerService.registerBanner(
|
val banner = bannerService.registerBanner(
|
||||||
characterId = request.characterId,
|
characterId = request.characterId,
|
||||||
|
@ -160,14 +167,19 @@ class AdminChatBannerController(
|
||||||
* 배너 수정 API
|
* 배너 수정 API
|
||||||
*
|
*
|
||||||
* @param image 배너 이미지
|
* @param image 배너 이미지
|
||||||
* @param request 배너 수정 요청 정보 (배너 ID와 선택적으로 캐릭터 ID 포함)
|
* @param requestString 배너 수정 요청 정보 (배너 ID와 선택적으로 캐릭터 ID 포함)
|
||||||
* @return 수정된 배너 정보
|
* @return 수정된 배너 정보
|
||||||
*/
|
*/
|
||||||
@PutMapping("/update")
|
@PutMapping("/update")
|
||||||
fun updateBanner(
|
fun updateBanner(
|
||||||
@RequestPart("image") image: MultipartFile,
|
@RequestPart("image") image: MultipartFile,
|
||||||
@RequestPart("request") request: ChatCharacterBannerUpdateRequest
|
@RequestPart("request") requestString: String
|
||||||
) = run {
|
) = run {
|
||||||
|
val objectMapper = ObjectMapper()
|
||||||
|
val request = objectMapper.readValue(
|
||||||
|
requestString,
|
||||||
|
ChatCharacterBannerUpdateRequest::class.java
|
||||||
|
)
|
||||||
// 배너 정보 조회
|
// 배너 정보 조회
|
||||||
bannerService.getBannerById(request.bannerId)
|
bannerService.getBannerById(request.bannerId)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue