package com.kt.event.analytics.dto.response;

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

import java.time.LocalDateTime;
import java.util.List;

/**
 * 이벤트 성과 대시보드 응답
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AnalyticsDashboardResponse {

    /**
     * 이벤트 ID
     */
    private String eventId;

    /**
     * 이벤트 제목
     */
    private String eventTitle;

    /**
     * 조회 기간 정보
     */
    private PeriodInfo period;

    /**
     * 성과 요약
     */
    private AnalyticsSummary summary;

    /**
     * 채널별 성과 요약
     */
    private List<ChannelSummary> channelPerformance;

    /**
     * ROI 요약
     */
    private RoiSummary roi;

    /**
     * 마지막 업데이트 시간
     */
    private LocalDateTime lastUpdatedAt;

    /**
     * 데이터 출처 (real-time, cached, fallback)
     */
    private String dataSource;
}
