package com.kt.ai.model.dto.response;

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

/**
 * 예상 성과 지표 DTO
 *
 * @author AI Service Team
 * @since 1.0.0
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ExpectedMetrics {
    /**
     * 신규 고객 수
     */
    private Range newCustomers;

    /**
     * 재방문 고객 수 (선택)
     */
    private Range repeatVisits;

    /**
     * 매출 증가율 (%)
     */
    private Range revenueIncrease;

    /**
     * ROI - 투자 대비 수익률 (%)
     */
    private Range roi;

    /**
     * SNS 참여도 (선택)
     */
    private SocialEngagement socialEngagement;

    /**
     * 범위 값 (최소-최대)
     */
    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class Range {
        private Double min;
        private Double max;
    }

    /**
     * SNS 참여도
     */
    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class SocialEngagement {
        /**
         * 예상 게시물 수
         */
        private Integer estimatedPosts;

        /**
         * 예상 도달 수
         */
        private Integer estimatedReach;
    }
}
