
package com.tmerclub.cloud.order.vo;

import com.tmerclub.cloud.common.vo.BaseVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.ToString;

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

/**
 * @author Pineapple
 * @date 2021/8/2 8:50
 */
@Data
@ToString
public class OrderInvoiceVO extends BaseVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @Schema(description = "订单发票ID")
    private Long orderInvoiceId;

    @Schema(description = "订单id")
    private Long orderId;

    @Schema(description = "发票类型 1.电子普通发票")
    private Integer invoiceType;

    @Schema(description = "抬头类型 1.单位 2.个人")
    private Integer headerType;

    @Schema(description = "抬头名称")
    private String headerName;

    @Schema(description = "发票税号")
    private String invoiceTaxNumber;

    @Schema(description = "发票内容 1.商品明细")
    private Integer invoiceContext;

    @Schema(description = "发票状态 1.申请中 2.已开票")
    private Integer invoiceState;

    @Schema(description = "文件id")
    private Long fileId;

    @Schema(description = "申请时间")
    private Date applicationTime;

    @Schema(description = "上传时间")
    private Date uploadTime;

    @Schema(description = "店铺id")
    private Long shopId;

    @Schema(description = "店铺名称")
    private String shopName;

    @Schema(description = "订单项列表")
    private List<MyOrderItemVO> orderItemVOList;

    @Schema(description = "商品总数")
    private Integer count;

    @Schema(description = "商品总金额")
    private Long amount;

    @Schema(description = "订单状态 1:待付款 2:待发货(待自提) 3:待收货(已发货) 5:成功 6:失败 7:待成团")
    private Integer orderState;

    @Schema(description = "订单创建时间")
    private Date orderCreateTime;

    @Schema(description = "用户id")
    private Long userId;

}
