package cn.superdesk.uniorder.dao.entity.invoice.customer;

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

import java.io.Serializable;
import java.util.Date;

/**
 * @Description:
 * @Author: linjinyu
 * @CreateDate: 2022-03-22 19:08:57
 * @UpdateUser: linjinyu
 * @UpdateDate: 2022-03-22 19:08:57
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
@Data
@ToString
public class InvoiceApplyXGoods implements Serializable {

    @ApiModelProperty(value = "")
    private Long id;

    /**
     * 开票申请部分 - 发票申请Id - invoice_apply.id
     */
    @ApiModelProperty(value = "开票申请部分 - 发票申请Id - invoice_apply.id ")
    private Long invoiceApplyId;

    /**
     * 开票申请部分 - 开票申请Sn
     */
    @ApiModelProperty(value = "开票申请部分 - 开票申请Sn")
    private String invoiceApplySn;

    /**
     * 对账(结算)单 - 账单id 1. 一般 accounting_unified_customer.id 2. 积分 accounting_score_customer.id
     */
    @ApiModelProperty(value = "对账(结算)单 - 账单id 1. 一般 accounting_unified_customer.id 2. 积分 accounting_score_customer.id")
    private Long accountingOrderId;

    /**
     * 对账(结算)单 - 对账单Sn
     */
    @ApiModelProperty(value = "对账(结算)单 - 对账单Sn")
    private String accountingOrderSn;

    /**
     * 对账(结算)单 - 对账单类型 1-一般;2-积分;
     */
    @ApiModelProperty(value = "对账(结算)单 - 对账单类型 1-一般;2-积分;")
    private Integer accountingOrderType;

    /**
     * 对账(结算)单 - 对账单 创建维度:0-订单;1-商品;2-流水;
     */
    @ApiModelProperty(value = "对账(结算)单 - 对账单 创建维度:0-订单;1-商品;2-流水;")
    private Integer dimCreateBy;

    /**
     * 订单数据部分 - accounting_order_type=1 dim_create_by=0 代表 accounting_unified_customer_order.id
     * accounting_order_type=1 dim_create_by=1 代表 unified_order.id
     * accounting_order_type=2 dim_create_by=2 代表 unified_order.id
     */
    @ApiModelProperty(value = "订单数据部分 - accounting_order_type=1 dim_create_by=0 代表 accounting_unified_customer_order.id " +
            "accounting_order_type=1 dim_create_by=1 代表 unified_order.id " +
            "accounting_order_type=2 dim_create_by=2 代表 unified_order.id")
    private Long unifiedOrderId;

    /**
     * 订单数据部分 - 外部订单Sn
     */
    @ApiModelProperty(value = "订单数据部分 - 外部订单Sn")
    private String orderSn;

    /**
     * 订单数据部分 - 商品id unified_order_goods.id
     */
    @ApiModelProperty(value = "订单数据部分 - 商品id unified_order_goods.id")
    private Long unifiedOrderGoodsId;

    @ApiModelProperty(value = "")
    private String goodsIdSourceFrom;

    @ApiModelProperty(value = "")
    private String goodsIdRootFrom;

    /**
     * 订单数据部分 - unifiedOrderCreditId
     */
    @ApiModelProperty(value = "订单数据部分 - unifiedOrderCreditId")
    private Long unifiedOrderCreditId;

    /**
     * 是否对账:-1-不对账;1-已对账;取值参考订单|商品|流水,共用的对账状态:-1-不对账;1-已对账;2-未对账;3-已作废;
     */
    @ApiModelProperty(value = "是否对账:-1-不对账;1-已对账;取值参考订单|商品|流水,共用的对账状态:-1-不对账;1-已对账;2-未对账;3-已作废;")
    private Integer accountingState;

    /**
     * 回款部分 - 是否已回款 0未回款 1已回款
     */
    @ApiModelProperty(value = "回款部分 - 是否已回款 0未回款 1已回款")
    private Integer backStatus;

    /**
     * 回款部分 - 银行流水Id
     */
    @ApiModelProperty(value = "回款部分 - 银行流水Id")
    private Long bankId;

    /**
     * 回款部分 - 回款时间
     */
    @ApiModelProperty(value = "回款部分 - 回款时间")
    private Date backTime;

    private static final long serialVersionUID = 1L;
}