package com.yonge.cooleshow.biz.dal.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.yonge.cooleshow.biz.dal.enums.*;
import lombok.Data;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;


/**
 * 购买会员卡记录表
 * 2024-11-15 10:57:20
 */
@Data
@ApiModel(" DiscountCardRecord-购买会员卡记录表")
@TableName("discount_card_record")
public class DiscountCardRecord implements Serializable {

    @ApiModelProperty("会员记录id") 
	    @TableId(value = "id_")
	    private Long id;

    @ApiModelProperty("用户id") 
	@TableField(value = "user_id_")
    private Long userId;

    @ApiModelProperty("会员卡id") 
	@TableField(value = "vip_card_id_")
    private Long vipCardId;

    @ApiModelProperty("订单号 ，活动id") 
	@TableField(value = "order_no_")
    private String orderNo;

    @ApiModelProperty("来源类型 ： ACTIVITY ：活动 ，ORDER:订单") 
	@TableField(value = "source_type_")
    private SourceTypeEnum sourceType;

    @ApiModelProperty("购买人员类型 TEACHRE :老师端 STUDNET : 学生端") 
	@TableField(value = "client_type_")
    private ClientEnum clientType;

    @ApiModelProperty("订单详情号") 
	@TableField(value = "sub_order_no_")
    private String subOrderNo;

    @ApiModelProperty("会员卡开始时间") 
	@TableField(value = "start_time_")
    private Date startTime;

    @ApiModelProperty("会员卡结束时间") 
	@TableField(value = "end_time_")
    private Date endTime;

    @ApiModelProperty("创建时间") 
	@TableField(value = "create_time_")
    private Date createTime;

    @ApiModelProperty("创建人") 
	@TableField(value = "create_by_")
    private Long createBy;

    @ApiModelProperty("更新时间") 
	@TableField(value = "update_time_")
    private Date updateTime;

    @ApiModelProperty("时间类型 DAY:天 MONTH:月，YEAR:年") 
	@TableField(value = "type_")
    private PeriodEnum type;

    @ApiModelProperty("添加时间数量") 
	@TableField(value = "times_")
    private Integer times;

    @ApiModelProperty("消息发送 0、未发送 1、已发送提前3天消息 2、已发送会员过期消息") 
	@TableField(value = "msg_status_")
    private Integer msgStatus;

    @ApiModelProperty("备注") 
	@TableField(value = "reason_")
    private String reason;

    @ApiModelProperty("会员类型 DISCOUNT") 
	@TableField(value = "vip_type_")
    private EVipType vipType;

    @ApiModelProperty("状态 ADD:新增，DEDUCTION:扣减,UPDATE:变更") 
	@TableField(value = "status_")
    private EVipRecordStatus status;

    @ApiModelProperty("是否展示1:展示，0:隐藏") 
	@TableField(value = "display_flag_")
    private Boolean displayFlag;

    @ApiModelProperty("关联ID") 
	@TableField(value = "ref_id_")
    private Long refId;

    @ApiModelProperty("是否有效 1:有效，0:失效") 
	@TableField(value = "efficient_flag_")
    private Boolean efficientFlag;

    @ApiModelProperty("是否发送推送，1：是，0：否") 
	@TableField(value = "send_msg_")
    private Boolean sendMsg;

}