package com.tashow.cloud.trade.convert.order.dto;

import lombok.Data;

import java.util.Date;

// 订单详情 VO
@Data
public class OrderDetailVO {

    // 订单信息
    // 订单状态 - 必填，示例：待付款/待确定/待服务/服务中/待评价/已完成
    private String orderStatus;
    // 订单编号 - 必填，示例：BY66587788
    private String orderCode;
    // 订单类型 - 必填，示例：宠物寄养（用来区分类目/业务）
    private String orderType;
    // 订单来源 - 必填，示例：官方APP/微信小程序/支付宝小程序/抖音小程序/H5/网页端
    private String orderSource;
    // 创建时间 - 必填，示例：2025-07-01 12:00:00
    private Date createTime;
    // 完成时间 - 必填，示例：2025-07-01 12:00:00
    private Date completeTime;
    // 取消时间 - 必填，示例：2025-07-01 12:00:00
    private Date cancelTime;

    // 支付信息
    // 订单金额 - 必填，示例：1000
    private Integer orderAmount;
    // 优惠金额 - 必填，示例：200
    private Integer discountAmount;
    // 实付金额 - 必填，示例：700
    private Integer actualPayAmount;
    // 支付方式 - 必填，示例：微信支付/支付宝支付/云闪付/银行卡
    private String payMethod;
    // 支付时间 - 必填，示例：2025-07-01 12:00:00
    private Date payTime;
    // 交易流水 - 必填，示例：557898747（主订单流水）
    private String transactionId;

    // 售后信息
    // 退款状态 - 必填，示例：待审核/待退款/已退款/已拒绝
    private String refundStatus;
    // 售后编号 - 必填，示例：450878
    private String afterSaleCode;
    // 售后类型 - 必填，示例：仅退款/退货退款/可扩展增加使用
    private String afterSaleType;
    // 退款类型 - 必填，示例：订单退款/差价退款/运费退款/可扩展增加
    private String refundType;
    // 退款原因 - 必填，示例：不想要了
    private String refundReason;
    // 退款说明 - 必填，示例：这里是用户填写的退款描述
    private String refundRemark;
    // 退款金额 - 必填
    private Integer refundAmount;
    // 申请人 - 必填，示例：用户/商家/平台+ID
    private String applicant;
    // 审核人 - 必填，示例：姓名+ID
    private String auditor;
    // 审核时间 - 必填，示例：2025-07-01 12:00:00
    private Date auditTime;
    // 退款方式 - 必填，示例：系统自动退款
    private String refundMethod;
    // 退款至 - 必填，示例：原支付方式返还
    private String refundTo;
    // 关闭时间 - 必填，示例：2025-07-01 12:00:00
    private Date closeTime;

    // 用户信息
    // 用户昵称 - 必填，示例：钱多多
    private String userNickname;
    // 用户ID - 必填，示例：666
    private Long userId;

}