package com.tashow.cloud.trade.controller.app.aftersale.vo;

// 移除Swagger相关导入

import com.tashow.cloud.trade.controller.app.base.property.AppProductPropertyValueDetailRespVO;
import lombok.Data;

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

// 用户 App - 交易售后 Response VO
@Data
public class AppAfterSaleRespVO {

    // 售后编号 - 必填，示例：1024
    private Long id;

    // 售后流水号 - 必填，示例：1146347329394184195
    private String no;

    // 售后状态 - 必填，示例：1
    private Integer status;

    // 售后方式 - 必填，示例：1
    private Integer way;

    // 售后类型 - 必填，示例：1
    private Integer type;

    // 申请原因 - 必填，示例：1
    private String applyReason;

    // 补充描述 - 必填，示例：1
    private String applyDescription;

    // 补充凭证图片 - 必填，示例：1
    private List<String> applyPicUrls;

    // 创建时间 - 必填
    private LocalDateTime createTime;

    // 更新时间 - 必填
    private LocalDateTime updateTime;

    // ========== 交易订单相关 ==========

    // 交易订单编号 - 必填，示例：1
    private Long orderId;

    // 交易订单流水号 - 必填，示例：1
    private String orderNo;

    // 交易订单项编号 - 必填，示例：1
    private Long orderItemId;

    // 商品 SPU 编号 - 必填，示例：1
    private Long spuId;

    // 商品 SPU 名称 - 必填，示例：1
    private String spuName;

    // 商品 SKU 编号 - 必填，示例：1
    private Long skuId;

    /**
     * 属性数组
     */
    private List<AppProductPropertyValueDetailRespVO> properties;

    // 商品图片 - 必填，示例：https://www.iocoder.cn/01.jpg
    private String picUrl;

    // 退货商品数量 - 必填，示例：1
    private Integer count;

    // ========== 审批相关 ==========

    /**
     * 审批备注
     *
     * 注意，只有审批不通过才会填写
     */
    private String auditReason;

    // ========== 退款相关 ==========

    // 退款金额，单位：分，示例：100
    private Integer refundPrice;

    // 退款时间
    private LocalDateTime refundTime;

    // ========== 退货相关 ==========

    // 退货物流公司编号，示例：1
    private Long logisticsId;

    // 退货物流单号，示例：SF123456789
    private String logisticsNo;

    // 退货时间
    private LocalDateTime deliveryTime;

    // 收货时间
    private LocalDateTime receiveTime;

    // 收货备注
    private String receiveReason;

}
