package com.seer.teach.mall.api.resp;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

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

@Data
public class OrderChildDTO {

    private Integer id;

    /**
     * 用户ID
     */
    private Integer userId;

    /**
     * 下单用户的地址Id
     */
    private Integer addressId;

    /**
     * 子订单编号
     */
    private String childOrderSn;

    /**
     * 下单时间
     */
    private LocalDateTime addTime;

    /**
     * 关联父订单ID
     */
    private Integer parentOrderId;

    /**
     * 商家ID
     */
    private Long merchantUserId;

    /**
     * 子订单实际支付金额
     */
    @Schema(description = "")
    private BigDecimal actualPrice;

    /**
     * 子订单总价（含运费）
     */
    private BigDecimal orderPrice;

    /**
     * 商品总价
     */
    private BigDecimal goodsPrice;


    /**
     * 子订单总学豆
     */
    @Schema(description = "子订单总学豆")
    private BigDecimal orderTotalCoin;

    /**
     * 子订单支付状态：0-待支付，1-已支付，2-退款中，3-退款完成
     */
    private Integer payStatus;

    /**
     * 支付时间
     */
    private LocalDateTime payTime;

    /**
     * 子订单发货状态：0-未发货，1-已发货
     */
    private Integer shippingStatus;
    /**
     * 子订单状态
     */
    private Integer orderStatus;

    /**
     * 发货时间
     */
    private Date deliveryTime;

    /**
     * 发货人ID
     */
    private Integer deliveryUserId;

    /**
     * 重量，单位kg，范围0.01-30 默认0.02）
     */
    private String weight;

    /**
     * 商品体积，单位：m^3 平米
     */
    private String volume;

    /**
     * 物流公司编码
     */
    private String logisticsCode;

    /**
     * 物流单号（子订单独立发货，对应一个物流单号）
     */
    private String shippingNo;

    /**
     * 确认收货时间
     */
    private LocalDateTime confirmTime;

    /**
     * （商家使用）订单备注
     */
    private String remark;

    /**
     * （下单用户使用）订单备注
     */
    private String postscript;


    private List<OrderItemDTO> orderItems;

}