package com.qs.mp.admin.domain;

import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.Version;
import com.qs.mp.common.enums.TicketStatusEnum;
import java.io.Serializable;
import java.util.Date;

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

/**
 * @describe 盲票实体类
 * @auther quanshu
 * @create 2022-03-08 11:35:25
 */
@TableName("mp_ticket")
@Data
@ApiModel(value = "盲票实体类")
public class Ticket implements Serializable {

  private static final long serialVersionUID = 1L;

  /**
   * 主键
   */
  @TableId(value = "ticket_id", type = IdType.INPUT)
  @ApiModelProperty("盲票id")
  private String ticketId;

  /**
   * 盲票组ID
   */
  @TableField("box_id")
  @ApiModelProperty("盲票组ID")
  private String boxId;

  /**
   * 盲票包ID
   */
  @TableField("pkg_id")
  @ApiModelProperty("盲票包ID")
  private String pkgId;

  /**
   * 标题
   */
  @TableField("title")
  @ApiModelProperty("标题")
  private String title;

  /**
   * 序列号
   */
  @TableField("serial_no")
  @ApiModelProperty("序列号")
  private String serialNo;

  /**
   * 面值
   */
  @TableField("face_price")
  @ApiModelProperty("面值")
  private Integer facePrice;

  /**
   * 加密幸运数字
   */
  @TableField("cipher_lucky_num")
  @ApiModelProperty("加密幸运数字")
  private String cipherLuckyNum;

  /**
   * 明文幸运数字
   */
  @TableField("plain_lucky_num")
  @ApiModelProperty("明文幸运数字")
  private Integer plainLuckyNum;

  /**
   * 抽奖数字描述（json格式，包含数字、奖项）
   */
  @TableField("draw_num")
  @ApiModelProperty("抽奖数字描述（json格式，包含数字、奖项）")
  private String drawNum;

  /**
   * 是否实体纸质票（0否1是）
   */
  @TableField("is_physical")
  @ApiModelProperty("是否实体纸质票（0否1是）")
  private Integer isPhysical;

  /**
   * 盲票状态;1未付款、2已激活、3已兑奖、4付款中
   */
  @TableField("status")
  @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
  @ApiModelProperty("盲票状态;1未付款、2已激活、3已兑奖、4付款中")
  private TicketStatusEnum status;

  /**
   * 创建时间
   */
  @TableField("created_time")
  @ApiModelProperty("创建时间")
  private Date createdTime;

  /**
   * 更新时间
   */
  @TableField("updated_time")
  @Version
  @ApiModelProperty("更新时间")
  private Date updatedTime;


}
