From 4c5cfcbbc7d2ebb22f54cedb980b11fbd5134267 Mon Sep 17 00:00:00 2001 From: yuhalog Date: Tue, 17 Jun 2025 15:13:45 +0900 Subject: [PATCH] fix: build --- .../domain/service/AiPosterGenerator.java | 8 ----- .../external/PythonAiPosterGenerator.java | 33 ++----------------- .../dto/PosterContentCreateRequest.java | 14 +++----- 3 files changed, 7 insertions(+), 48 deletions(-) diff --git a/smarketing-java/marketing-content/src/main/java/com/won/smarketing/content/domain/service/AiPosterGenerator.java b/smarketing-java/marketing-content/src/main/java/com/won/smarketing/content/domain/service/AiPosterGenerator.java index 6c0f1cb..a689d30 100644 --- a/smarketing-java/marketing-content/src/main/java/com/won/smarketing/content/domain/service/AiPosterGenerator.java +++ b/smarketing-java/marketing-content/src/main/java/com/won/smarketing/content/domain/service/AiPosterGenerator.java @@ -17,12 +17,4 @@ public interface AiPosterGenerator { * @return 생성된 포스터 이미지 URL */ String generatePoster(PosterContentCreateRequest request); - - /** - * 다양한 사이즈의 포스터 생성 - * - * @param baseImage 기본 이미지 - * @return 사이즈별 포스터 URL 맵 - */ - Map generatePosterSizes(String baseImage); } diff --git a/smarketing-java/marketing-content/src/main/java/com/won/smarketing/content/infrastructure/external/PythonAiPosterGenerator.java b/smarketing-java/marketing-content/src/main/java/com/won/smarketing/content/infrastructure/external/PythonAiPosterGenerator.java index 2318ce0..6fd47fe 100644 --- a/smarketing-java/marketing-content/src/main/java/com/won/smarketing/content/infrastructure/external/PythonAiPosterGenerator.java +++ b/smarketing-java/marketing-content/src/main/java/com/won/smarketing/content/infrastructure/external/PythonAiPosterGenerator.java @@ -4,6 +4,7 @@ import com.won.smarketing.content.domain.service.AiPosterGenerator; // 도메인 import com.won.smarketing.content.presentation.dto.PosterContentCreateRequest; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import org.springframework.web.reactive.function.client.WebClient; @@ -23,7 +24,7 @@ public class PythonAiPosterGenerator implements AiPosterGenerator { private final WebClient webClient; - @Value("${external.ai-service.base-url:http://20.249.139.88:5001}") + @Value("${external.ai-service.base-url}") private String aiServiceBaseUrl; /** @@ -69,22 +70,10 @@ public class PythonAiPosterGenerator implements AiPosterGenerator { } } - /** - * 다양한 사이즈의 포스터 생성 (사용하지 않음) - * 1개의 이미지만 생성하므로 빈 맵 반환 - * - * @param baseImage 기본 이미지 URL - * @return 빈 맵 - */ - @Override - public Map generatePosterSizes(String baseImage) { - log.info("포스터 사이즈 변환 기능은 사용하지 않음: baseImage={}", baseImage); - return new HashMap<>(); - } - /** * Python AI 서비스 요청 데이터 구성 * Python 서비스의 PosterContentGetRequest 모델에 맞춤 + * 카테고리, */ private Map buildRequestBody(PosterContentCreateRequest request) { Map requestBody = new HashMap<>(); @@ -92,7 +81,6 @@ public class PythonAiPosterGenerator implements AiPosterGenerator { // 기본 정보 requestBody.put("title", request.getTitle()); requestBody.put("category", request.getCategory()); - requestBody.put("contentType", request.getContentType()); // 이미지 정보 if (request.getImages() != null && !request.getImages().isEmpty()) { @@ -109,16 +97,6 @@ public class PythonAiPosterGenerator implements AiPosterGenerator { requestBody.put("requirement", request.getRequirement()); } - // 톤앤매너 - if (request.getToneAndManner() != null) { - requestBody.put("toneAndManner", request.getToneAndManner()); - } - - // 감정 강도 - if (request.getEmotionIntensity() != null) { - requestBody.put("emotionIntensity", request.getEmotionIntensity()); - } - // 메뉴명 if (request.getMenuName() != null) { requestBody.put("menuName", request.getMenuName()); @@ -129,11 +107,6 @@ public class PythonAiPosterGenerator implements AiPosterGenerator { requestBody.put("eventName", request.getEventName()); } - // 날짜 정보 (LocalDate를 String으로 변환) - if (request.getStartDate() != null) { - requestBody.put("startDate", request.getStartDate().format(DateTimeFormatter.ISO_LOCAL_DATE)); - } - if (request.getEndDate() != null) { requestBody.put("endDate", request.getEndDate().format(DateTimeFormatter.ISO_LOCAL_DATE)); } diff --git a/smarketing-java/marketing-content/src/main/java/com/won/smarketing/content/presentation/dto/PosterContentCreateRequest.java b/smarketing-java/marketing-content/src/main/java/com/won/smarketing/content/presentation/dto/PosterContentCreateRequest.java index 3ea3a15..1cbf87d 100644 --- a/smarketing-java/marketing-content/src/main/java/com/won/smarketing/content/presentation/dto/PosterContentCreateRequest.java +++ b/smarketing-java/marketing-content/src/main/java/com/won/smarketing/content/presentation/dto/PosterContentCreateRequest.java @@ -41,33 +41,26 @@ public class PosterContentCreateRequest { @NotNull(message = "홍보 종료일은 필수입니다") private LocalDateTime promotionEndDate; + @Schema(description = "메뉴명 (메뉴 홍보시)", example = "카페라떼") + private String menuName; + @Schema(description = "이벤트명 (이벤트 홍보시)", example = "신메뉴 출시 이벤트") private String eventName; @Schema(description = "이미지 스타일", example = "모던") private String imageStyle; - @Schema(description = "프로모션 유형", example = "할인 정보") - private String promotionType; - - @Schema(description = "감정 강도", example = "보통") - private String emotionIntensity; - @Schema(description = "업로드된 이미지 URL 목록", required = true) @NotNull(message = "이미지는 1개 이상 필수입니다") @Size(min = 1, message = "이미지는 1개 이상 업로드해야 합니다") private List images; - // CreationConditions에 필요한 필드들 @Schema(description = "콘텐츠 카테고리", example = "이벤트") private String category; @Schema(description = "구체적인 요구사항", example = "신메뉴 출시 이벤트 포스터를 만들어주세요") private String requirement; - @Schema(description = "톤앤매너", example = "전문적") - private String toneAndManner; - @Schema(description = "이벤트 시작일", example = "2024-01-15") private LocalDate startDate; @@ -76,4 +69,5 @@ public class PosterContentCreateRequest { @Schema(description = "사진 스타일", example = "밝고 화사한") private String photoStyle; + } \ No newline at end of file