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

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

/**
 * 会员详情 VO（管理端使用）
 *
 * @author 付嘉
 * @date 2026-05-27
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MemberDetailVO {

    // ==================== 会员基础信息 ====================

    /**
     * 会员ID
     */
    private Long id;

    /**
     * 会员编号
     */
    private String memberNo;

    /**
     * 昵称
     */
    private String nickname;

    /**
     * 手机号（脱敏显示）
     */
    private String phone;

    /**
     * 性别描述
     */
    private String genderDesc;

    /**
     * 生日
     */
    private Date birthday;

    /**
     * 地址
     */
    private String address;

    /**
     * 头像URL
     */
    private String avatar;

    /**
     * 是否关注服务号
     */
    private Boolean subscribed;

    /**
     * 最后登录时间
     */
    private LocalDateTime lastLoginAt;

    /**
     * 注册时间
     */
    private LocalDateTime createdAt;

    // ==================== 会员卡信息 ====================

    /**
     * 会员持有的卡列表
     */
    private List<MemberCardInfoVO> memberCards;

    /**
     * 有效会员卡数量
     */
    private Integer activeCardCount;

    /**
     * 过期/用完会员卡数量
     */
    private Integer inactiveCardCount;
}