package beilv.voucher.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import beilv.common.annotation.Excel;
import beilv.common.core.domain.BaseEntity;

/**
 * 代金券用户关系对象 beilv_voucher_member
 *
 * @author ruoyi
 * @date 2025-11-20
 */
@Data
public class BeilvVoucherMember extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    private Long id;

    /**
     * 代金券id
     */
    @Excel(name = "代金券id")
    private Long voucherId;

    /**
     * 用户id
     */
    @Excel(name = "用户id")
    private Long memberId;

    /**
     * 代金券有效期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "代金券有效期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date validityTime;

    /**
     * 是否过期(1：未使用；2：已使用；3：已过期)
     */
    @Excel(name = "是否过期(1：未使用；2：已使用；3：已过期)")
    private String isValidity;

    /**
     * 是否过期(1：未使用；2：已使用；3：已过期)
     */
    @Excel(name = "是否过期(1：未使用；2：已使用；3：已过期)")
    private String isValidityText;

    /**
     * 用户名称
     */
    private String username;

    /**
     * 代金券名称
     */
    @Excel(name = "代金券名称")
    private String voucherName;

    /**
     * 代金券金额
     */
    @Excel(name = "代金券金额")
    private BigDecimal voucherPrice;

    /**
     * 代金券类型
     */
    @Excel(name = "代金券类型")
    private String voucherType;

    /**
     * 代金券类型
     */
    @Excel(name = "代金券类型")
    private String voucherTypeText;

    /**
     * 付款金额
     */
    @Excel(name = "付款金额")
    private BigDecimal payPrice;

    private BigDecimal instantDiscount;

    public BeilvVoucherMember() {

    }

    public BeilvVoucherMember(String isValidity) {
        this.isValidity = isValidity;
    }

    public BeilvVoucherMember(Long id, String isValidity) {
        this.id = id;
        this.isValidity = isValidity;
    }
}
