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

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

import java.time.LocalDateTime;

/**
 * 会员卡记录响应 VO
 *
 * @author 付嘉
 * @date 2026-05-27
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MemberCardRecordVO {

    /**
     * 会员卡记录ID
     */
    private Long memberCardRecordId;

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

    /**
     * 会员卡类型ID
     */
    private Long memberCardId;

    /**
     * 会员卡名称
     */
    private String memberCardName;

    /**
     * 状态：ACTIVE-有效, USED_UP-用完, EXPIRED-过期, REFUNDED-已退款
     */
    private String status;

    /**
     * 剩余次数
     */
    private Integer remainingTimes;

    /**
     * 剩余金额
     */
    private Double remainingAmount;

    /**
     * 到期时间
     */
    private LocalDateTime expireTime;

    /**
     * 购买时间
     */
    private LocalDateTime purchaseTime;

    /**
     * 创建时间
     */
    private LocalDateTime createdAt;
}