package org.dromara.payment.invoice.domain;

import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

import java.io.Serial;

/**
 * 商户发票记录对象 mer_invoice
 *
 * @author LionLi
 * @date 2024-05-06
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("mer_invoice")
public class MerInvoice extends BaseEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id")
    private Long id;

    /**
     * 申请开票流水号
     */
    private String no;

    /**
     * 发票抬头
     */
    private String header;

    /**
     * 发票类型（1：增值税专用发票 2：增值税普通发票 3：差额票）
     */
    private Long type;

    /**
     * 纳税人识别号
     */
    private String creditCode;

    /**
     * 开户银行地址
     */
    private String bankAddress;

    /**
     * 开户银行账号
     */
    private String bankCard;

    /**
     * 开票类目
     */
    private String category;

    /**
     * 发票数量（张）
     */
    private Long invNum;

    /**
     * 开票总金额
     */
    private Long invAmount;

    /**
     * 收件地址id
     */
    private Long addId;

    /**
     * 收件人姓名
     */
    private String addName;

    /**
     * 收件人手机号
     */
    private String addPhone;

    /**
     * 收件地址
     */
    private String addAddress;

    /**
     * 邮箱地址
     */
    private String addEmail;

    /**
     * 快递状态（1：未寄出 2：未签收 3：已签收）
     */
    private Integer iogisticsStatus;

    /**
     * 快递时间
     */
    private Date iogisticsTime;

    /**
     * 快递发件人
     */
    private String iogisticsBy;

    /**
     * 快递公司（字典值）
     */
    private String iogisticsCompany;

    /**
     * 快递单号
     */
    private String iogisticsNo;

    /**
     * 开票状态（1:待开票、2:已开票、3:已取消  4:驳回 5：开票中）
     */
    private Integer status;

    /**
     * 添加时间
     */
    private Date addTime;

    /**
     * 添加人
     */
    private String addBy;

    /**
     * 取消时间
     */
    private Date cancelTime;

    /**
     * 取消或驳回人
     */
    private String cancelBy;

    /**
     * 取消或驳回原因
     */
    private String cancelReason;

    /**
     * 发票备注栏
     */
    private String invRemark;

    /**
     * 备注
     */
    private String remark;

    /**
     * 单位注册地址
     */
    private String dwzcdz;

    /**
     * 单位电话
     */
    private String dwdh;

    /**
     * 结算中心id
     */
    private Long sydId;

    /**
     * 结算中心编号
     */
    private String sydNo;

    /**
     * 运营商编号
     */
    private String opNo;

    /**
     * 运营商id
     */
    private Long opId;

    /**
     * 代理商id
     */
    private Long channelId;

    /**
     * 代理商编号
     */
    private String channelNo;

    /**
     * 代理商上下级关系编码
     */
    private String channelCode;

    /**
     * 商户id
     */
    private Long merId;

    /**
     * 商户编号
     */
    private String merNo;

    /**
     * 业务类型(1:委托代征，2:自然人代开，3:个体户注册 4:临时税务登记 5：资金代发 6：派遣&外包
     */
    private Integer busType;

    /**
     * 快递签收时间
     */
    private Date iogisticsReceivingTime;

    /**
     * 快递签收人
     */
    private String iogisticsReceivingBy;

    private String categoryOne;

    private String categoryTwo;

}
