package com.zcloud.modules.invoicing.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

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

/**
 * @Author lizenan
 * @Desc 开票管理表(BusInvoicing)实体
 * @Date 2024-04-03 15:15:35
 */
@Data
@TableName("bus_invoicing")
public class BusInvoicingEntity implements Serializable {
    private static final long serialVersionUID = 378057616428859307L;
    @TableId(type = IdType.ASSIGN_UUID)
    private String invoicingId;
    //客户企业信息Id
    @ApiModelProperty(value = "客户企业信息Id")
    private String customerinfoId;
    //开票类型 1:购买课程、2:流量充值、3:QPS充值
    @ApiModelProperty(value = "开票类型 1:购买课程、2:流量充值、3:QPS充值")
    private Integer invoicingType;
    //数据来源 1:开发者、2:课件库
    @ApiModelProperty(value = "数据来源 1:开发者、2:课件库")
    private Integer dataSource;
    //来源Id
    @ApiModelProperty(value = "来源Id")
    private String sourceId;
    //发票抬头Id
    @ApiModelProperty(value = "发票抬头Id")
    private String invoiceId;
    //申请时间
    @ApiModelProperty(value = "申请时间")
    private Date applyTime;
    //发票金额
    @ApiModelProperty(value = "发票金额")
    private Double invoicingAmount;
    //审请状态 0:开票中、1:重开发票中、2:已开票
    @ApiModelProperty(value = "审请状态 0:开票中、1:已退票、2:已开票")
    private Integer status;
    //删除状态 0 -未删除  1- 已删除
    @ApiModelProperty(value = "删除状态 0 -未删除  1- 已删除")
    @TableField(fill = FieldFill.INSERT)
    private Integer isDelete;
    //添加人
    @ApiModelProperty(value = "添加人")
    private String creator;
    //创建时间
    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private String createTime;
    //修改人
    @ApiModelProperty(value = "修改人")
    private String operator;
    //修改时间
    @ApiModelProperty(value = "修改时间")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private String operatTime;

    /**
     * 发票抬头Id字符串
     */
    @TableField(exist = false)
    private String invoiceIdStr;


    /**
     * 发票抬头是否改了就设置成1
     */
    @TableField(exist = false)
    private Integer isChange;

    /**
     * 开票类型
     */
    @TableField(exist = false)
    private String invoicingTypeName;

    /**
     * 是否回传了发票
     */
    @TableField(exist = false)
    private Integer isReturn;

    /**
     * 回传发票
     */
    @TableField(exist = false)
    private List<BusInvoicingReturnEntity> invoicingReturnList;
    /**
     * 订单编号
     */
    @TableField(exist = false)
    private String orderNum;
    //发票抬头
    @TableField(exist = false)
    private String invoiceName;
    //税号
    @TableField(exist = false)
    private String taxNum;
    //注册地址
    @TableField(exist = false)
    private String registerAddress;
    //注册电话
    @TableField(exist = false)
    private String registerPhone;
    //开户银行
    @TableField(exist = false)
    private String accountBank;
    //银行账号
    @TableField(exist = false)
    private String bankAccount;
    //开票状态 0:未开票、1:开票中、2:已开票、3:申请重开、4:重开中、5:已完成
    @TableField(exist = false)
    private Integer invoicingStatus;
    @ApiModelProperty("发票类型 10-个人 20-企业")
    @TableField(exist = false)
    private String invoiceType;
}

