package com.kt.ai.kafka.message;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * AI 이벤트 생성 요청 메시지 (Kafka)
 * Topic: ai-event-generation-job
 * Consumer Group: ai-service-consumers
 *
 * @author AI Service Team
 * @since 1.0.0
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AIJobMessage {
    /**
     * Job 고유 ID
     */
    private String jobId;

    /**
     * 이벤트 ID (Event Service에서 생성)
     */
    private String eventId;

    /**
     * 이벤트 목적
     * - "신규 고객 유치"
     * - "재방문 유도"
     * - "매출 증대"
     * - "브랜드 인지도 향상"
     */
    private String objective;

    /**
     * 업종
     */
    private String industry;

    /**
     * 지역 (시/구/동)
     */
    private String region;

    /**
     * 매장명 (선택)
     */
    private String storeName;

    /**
     * 목표 고객층 (선택)
     */
    private String targetAudience;

    /**
     * 예산 (원) (선택)
     */
    private Integer budget;

    /**
     * 요청 시각
     */
    private LocalDateTime requestedAt;
}
