package com.xingxi.api.data.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.xingxi.business.Order.domain.OrderDeliveryExpr;
import com.xingxi.business.Order.domain.OrderDetail;
import com.xingxi.master.product.domain.ProdPic;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Setter
@Getter
@JsonIgnoreProperties("params")
public class OrderDetailDTO {

    // 订单明细ID
    private Long orderDetailId;

    // 订单ID
    private Long orderId;

    // 订单明细状态
    private String orderDetailStatus;

    // 商品ID
    private Long prodId;

    // 商品名
    private String prodName;

    // 属性组合编号
    private Long prodAttrId;

    // 属性组合名称
    private String prodAttrName;

    // 供应商ID
    private Long vendorId;

    // 购买数量
    private Integer quantity;

    // 售后中数量
    private Integer afterQty;

    // 已退货数量
    private Integer returnQty;

    // 购买单价
    private BigDecimal price;

    // 总金额
    private BigDecimal orderAmount;

    // 支付金额
    private BigDecimal payAmount;

    // 确认收货时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date confirmTime;

    // 完成时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date finishTime;

    // 删除标志（0代表存在 1代表删除）
    private String delFlag;

    /**
     * 创建者
     */
    private String createUser;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 更新者
     */
    private String updateUser;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    private List<ProdPic> imageDTOS;
    private List<OrderDeliveryExpr> orderDetailExprs;

}
