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.qs.mp.common.enums.TicketPkgSaleStatusEnum;
import com.qs.mp.common.enums.TicketPkgStatusEnum;
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-02 12:25:55
 */
@TableName("mp_ticket_package")
@Data
@ApiModel("盲票实体类")
public class TicketPackage implements Serializable {

  private static final long serialVersionUID = 1L;

  /**
   * 盲票包ID
   */
  @ApiModelProperty("盲票包ID")
  @TableId(value = "pkg_id" , type = IdType.INPUT)
  private String pkgId;

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

  /**
   * 盲票包编号
   */
  @ApiModelProperty("盲票包编号")
  @TableField("pkg_no")
  private String pkgNo;

  /**
   * 开始序号
   */
  @ApiModelProperty("开始序号")
  @TableField("start_sn")
  private String startSn;

  /**
   * 结束序号
   */
  @ApiModelProperty("结束序号")
  @TableField("end_sn")
  private String endSn;

  @ApiModelProperty("是否预购票0否,1是")
  @TableField("is_pre")
  private Integer isPre;

  /**
   * 状态（待销售、已销售）
   */
  @ApiModelProperty("状态（待销售、已销售）")
  @TableField("status")
  @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
  private TicketPkgStatusEnum status;

  /**
   * 用户端销售状态（待售、销售中、已售罄）
   */
  @ApiModelProperty("用户端销售状态（待售、销售中、已售罄）")
  @TableField("sale_status")
  @JSONField(serialzeFeatures = SerializerFeature.WriteEnumUsingToString)
  private TicketPkgSaleStatusEnum saleStatus;

  /**
   * 销售张数
   */
  @ApiModelProperty("销售张数")
  @TableField("sale_qty")
  private Integer saleQty;

  /**
   * 每包张数
   */
  @ApiModelProperty("每包张数")
  @TableField("pkg_unit")
  private Integer pkgUnit;

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

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


}
