package com.unicorn.hgzero.meeting.infra.dto.response;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * 회의 통계 조회 응답 DTO
 * 회의 종료 화면에서 통계 정보 표시
 */
@Getter
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "회의 통계 조회 응답")
public class MeetingStatisticsResponse {

    @Schema(description = "회의 ID", example = "MTG-2025-001")
    private String meetingId;

    @Schema(description = "회의 제목", example = "Q1 마케팅 전략 회의")
    private String meetingTitle;

    @Schema(description = "회의 시작 시간", example = "2025-01-20T14:00:00")
    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss")
    private LocalDateTime startTime;

    @Schema(description = "회의 종료 시간", example = "2025-01-20T16:00:00")
    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss")
    private LocalDateTime endTime;

    @Schema(description = "회의 총 시간 (분)", example = "120")
    private Integer durationMinutes;

    @Schema(description = "참석자 수", example = "5")
    private Integer participantCount;

    @Schema(description = "안건 수", example = "3")
    private Integer agendaCount;

    @Schema(description = "Todo 수", example = "12")
    private Integer todoCount;
}
