package com.ycwl.basic.order.dto;

import com.ycwl.basic.order.enums.OrderStatus;
import com.ycwl.basic.order.enums.PaymentStatus;
import com.ycwl.basic.order.enums.RefundStatus;
import lombok.Data;

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

/**
 * 订单列表响应DTO
 */
@Data
public class OrderV2ListResponse {
    
    /**
     * 订单ID
     */
    private Long id;
    
    /**
     * 订单号
     */
    private String orderNo;
    
    /**
     * 会员ID
     */
    private Long memberId;
    
    /**
     * 小程序openId
     */
    private String openId;
    
    /**
     * 人脸ID
     */
    private Long faceId;
    
    /**
     * 景区ID
     */
    private Long scenicId;
    
    /**
     * 原始金额
     */
    private BigDecimal originalAmount;
    
    /**
     * 优惠金额
     */
    private BigDecimal discountAmount;
    
    /**
     * 最终金额
     */
    private BigDecimal finalAmount;
    
    /**
     * 订单状态
     */
    private OrderStatus orderStatus;
    
    /**
     * 订单状态描述
     */
    private String orderStatusDesc;
    
    /**
     * 支付状态
     */
    private PaymentStatus paymentStatus;
    
    /**
     * 支付状态描述
     */
    private String paymentStatusDesc;
    
    /**
     * 退款状态
     */
    private RefundStatus refundStatus;
    
    /**
     * 退款状态描述
     */
    private String refundStatusDesc;
    
    /**
     * 总退款金额
     */
    private BigDecimal totalRefundAmount;
    
    /**
     * 订单备注
     */
    private String remarks;
    
    /**
     * 支付时间
     */
    private Date payTime;
    
    /**
     * 完成时间
     */
    private Date completeTime;
    
    /**
     * 创建时间
     */
    private Date createTime;
    
    /**
     * 更新时间
     */
    private Date updateTime;
    
    /**
     * 商品数量（订单中商品种类数）
     */
    private Integer itemCount;
    
    /**
     * 商品总数量（所有商品数量之和）
     */
    private Integer totalQuantity;
}