package com.ruoyi.member.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;
import com.ruoyi.common.core.domain.DlBaseEntity;

/**
 * 会员开卡记录对象 dl_member_card
 * 
 * @author pqz
 * @date 2025-03-17
 */
@TableName("dl_member_card")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MemberCard extends DlBaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 唯一主键 */
    @TableId(type = IdType.ASSIGN_UUID)
    private String id;

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

    /** 用户类型（数据字典：dl_user_type） */
    @Excel(name = "用户类型", readConverterExp = "数=据字典：dl_user_type")
    private String userType;

    /** 会员卡id */
    @Excel(name = "会员卡id")
    private String cardId;

    /** 会员名称 */
    @Excel(name = "会员卡名称")
    private String cardName;

    /** 生效日期（含） */
    @Excel(name = "生效日期", readConverterExp = "含=")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date startDate;

    /** 失效日期（含） */
    @Excel(name = "失效日期", readConverterExp = "含=")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endDate;

    /** 关联订单id */
    @Excel(name = "关联订单id")
    private String orderId;

}
