package cn.novalon.gym.manage.checkIn.vo;

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

import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 签到统计VO
 *
 * @author 付嘉
 * @date 2026-06-08
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SignInStatsVO {

    /**
     * 统计开始日期
     */
    private LocalDate startDate;

    /**
     * 统计结束日期
     */
    private LocalDate endDate;

    /**
     * 总签到次数
     */
    private Long totalCount;

    /**
     * 成功签到次数
     */
    private Long successCount;

    /**
     * 成功率（百分比）
     */
    private Double successRate;

    /**
     * 独立会员数
     */
    private Long uniqueMemberCount;

    /**
     * 首次签到时间
     */
    private LocalDateTime firstSignInTime;

    /**
     * 最后签到时间
     */
    private LocalDateTime lastSignInTime;
}