package com.hc.business.model;

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

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Transient;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;

/**
 * 用户发票表(ZccmUserInvoices)实体类
 *
 * @author java
 * @since 2020-12-02 10:50:29
 */

@ApiModel(value = "订单发票表")
@Data
public class ZccmUserInvoices implements Serializable {


    private static final long serialVersionUID = -61454177699116234L;

    /**
     * 主键id
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @ApiModelProperty(value = "主键id")
    private Integer userInvoicesId;

    /**
     * 抬头
     */
    @ApiModelProperty(value = "抬头", required = true)
    private String invoicesHead;

    /**
     * 发票类型，12普票专票
     */
    @ApiModelProperty(value = "发票类型，12普票专票", required = true)
    private Integer invoicesType;

    /**
     * 税号
     */
    @ApiModelProperty(value = "税号", required = true)
    private String invoicesCode;

    /**
     * 开户行
     */
    @ApiModelProperty(value = "开户行", required = true)
    private String invoicesBank;

    /**
     * 开户名
     */
    @ApiModelProperty(value = "开户名", required = true)
    private String invoicesUser;

    /**
     * 开户账号
     */
    @ApiModelProperty(value = "开户账号", required = true)
    private String invoicesNo;

    /**
     * 发票金额
     */
    @ApiModelProperty(value = "发票金额", required = true)
    @NotNull
    private Double invoicesPrice;

    /**
     * 申请日期
     */
    @ApiModelProperty(value = "申请日期")
    private Long createTime;

    /**
     * 处理状态
     */
    @ApiModelProperty(value = "状态")
    private Integer status;

    /**
     * 处理日期
     */
    @ApiModelProperty(value = "处理日期")
    private Long time;

    /**
     * 用户ID
     */
    @ApiModelProperty(value = "用户ID", required = true)
    @NotNull
    private Integer userId;

    /**
     * 班次id
     */
    @ApiModelProperty(value = "班次ID", required = true)
    @NotNull
    private Integer classId;

    /**
     * 发票备注
     */
    @ApiModelProperty(value = "发票备注")
    private String remarks;

    /**
     * 后台发票标记
     */
    @ApiModelProperty(value = "后台发票标记")
    private String remarksSign;

    /**
     * 发票代码
     */
    @ApiModelProperty(value = "发票代码")
    private String taxCode;

    @NotEmpty
    @ApiModelProperty(value = "订单id")
    @Transient
    private List<Integer> ordersIdList;


}