package go.kr.project.system.loginLog.model;

import egovframework.util.excel.ExcelColumn;
import egovframework.util.excel.ExcelSheet;
import lombok.*;

/**
 * packageName    : go.kr.project.login.model
 * fileName       : LoginLogStatsVO
 * author         : 시스템 관리자
 * date           : 2025-05-13
 * description    : 로그인 로그 통계 정보를 담는 VO 클래스
 * ===========================================================
 * DATE              AUTHOR             NOTE
 * -----------------------------------------------------------
 * 2025-05-13        시스템 관리자       최초 생성
 */
@ExcelSheet(name = "로그인 통계")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class LoginLogStatsVO {

    /** 통계 유형 (디바이스, 성공/실패, 시간대별) */
    @ExcelColumn(headerName = "통계 유형")
    private String statsType;

    /** 항목명 (디바이스명, 성공/실패, 시간대) */
    @ExcelColumn(headerName = "항목명")
    private String itemName;

    /** 카운트 */
    @ExcelColumn(headerName = "횟수")
    private Integer count;

    /** 성공 카운트 (시간대별 통계에서 사용) */
    @ExcelColumn(headerName = "성공 횟수")
    private Integer successCount;

    /** 실패 카운트 (시간대별 통계에서 사용) */
    @ExcelColumn(headerName = "실패 횟수")
    private Integer failCount;

    /** 비율 (%) */
    @ExcelColumn(headerName = "비율 (%)")
    private Double percentage;

    /** 조회 시작일 */
    @ExcelColumn(headerName = "조회 시작일")
    private String startDate;

    /** 조회 종료일 */
    @ExcelColumn(headerName = "조회 종료일")
    private String endDate;

    /** 생성 일시 */
    @ExcelColumn(headerName = "생성 일시")
    private String createDate;
}
