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

import lombok.Data;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * 更新会员卡类型请求 DTO
 * 
 * @author 付嘉
 * @date 2026-05-27
 */
@Data
public class UpdateMemberCardRequest {

    /**
     * 会员卡名称
     */
    @NotBlank(message = "会员卡名称不能为空")
    private String memberCardName;

    /**
     * 会员卡类型：TIME_CARD-时长卡, COUNT_CARD-次卡, STORED_VALUE_CARD-储值卡
     */
    @NotBlank(message = "会员卡类型不能为空")
    private String memberCardType;

    /**
     * 会员卡价格
     */
    @NotNull(message = "会员卡价格不能为空")
    private BigDecimal memberCardPrice;

    /**
     * 有效天数（时长卡用）
     */
    private Integer memberCardValidityDays;

    /**
     * 总次数（次卡用）
     */
    private Integer memberCardTotalTimes;

    /**
     * 面额（储值卡用）
     */
    private BigDecimal memberCardAmount;

    /**
     * 状态：0-下架, 1-上架
     */
    private Integer memberCardStatus;

    /**
     * 扩展配置（JSON格式）
     */
    private String extraConfig;
}
