package com.wzj.soopin.order.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.wzj.soopin.order.domain.entity.OrderItem;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

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

@Data
public class H5OrderVO {

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

    @Schema(description = "支付id")
    private Long payId;

    @Schema(description = "订单编号")
    private String orderSn;

    @Schema(description = "会员id")
    private Long memberId;

    @Schema(description = "订单总金额")
    private BigDecimal totalAmount;

    @Schema(description = "应付金额")
    private BigDecimal payAmount;

    private BigDecimal couponAmount;

    @Schema(description = "订单状态 0->待付款；1->待发货；2->已发货；3->已完成；4->已关闭")
    private Integer status;

    @Schema(description = "售后状态")
    private Integer aftersaleStatus;

    @Schema(description = "订单Item")
    private List<OrderItem> orderItemList;

    @Schema(description = "订单备注")
    private String note;

    @Schema(description = "物流单号")
    private String deliverySn;

    @Schema(description = "下单时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "支付时间")
    private LocalDateTime paymentTime;

    @Schema(description = "收货人姓名")
    private String receiverName;

    @Schema(description = "收货人手机号")
    private String receiverPhone;

    @Schema(description = "省份/直辖市")
    private String receiverProvince;

    @Schema(description = "城市")
    private String receiverCity;

    @Schema(description = "区")
    private String receiverDistrict;

    @Schema(description = "详细地址")
    private String receiverDetailAddress;

    @Schema(description = "支付倒计时")
    private Long timeToPay;
}
