package com.seer.teach.mall.response;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

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

@Getter
@Setter
@ToString
public class AfterSaleResp {

    private Integer id;

    @Schema(name = "售后流水号")
    private String afterSaleSn;

    @Schema(name = "售后状态", example = "10")
    private Integer status;

    @Schema(name = "售后类型", example = "20")
    private Integer type;

    @Schema(name = "售后方式", example = "10")
    private Integer way;

    @Schema(name = "用户编号", example = "30337")
    private Integer userId;

    @Schema(name = "商家编号", example = "30337")
    private Integer merchantUserId;

    @Schema(name = "申请原因", example = "不喜欢")
    private String applyReason;

    @Schema(name = "售后申请时间", example = "2025-06-24 12：23：21")
    private LocalDateTime applyTime;

    @Schema(name = "凭证图片")
    private List<String> applyPicUrls;

    @Schema(description = "订单ID")
    private Integer orderId;

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

    @Schema(description = "子订单SN")
    private String childOrderSn;

    @Schema(description = "子订单ID")
    private Integer childOrderId;

    @Schema(name = "订单项编号", example = "572")
    private Integer orderItemId;

    @Schema(name = "商品 SPU 编号", example = "2888")
    private Integer spuId;

    @Schema(name = "商品 SPU 名称", example = "李四")
    private String spuName;

    @Schema(name = "商品 SKU 编号", example = "15657")
    private Integer skuId;

    @Schema(name = "商品图片")
    private String picUrl;

    @Schema(name = "购买数量", example = "20012")
    private Integer afterSaleCount;

    @Schema(name = "审批时间")
    private LocalDateTime auditTime;

    @Schema(name = "审批人", example = "30835")
    private Long auditUserId;

    @Schema(name = "审批备注", example = "不香")
    private String auditReason;

    @Schema(description = "退款学豆")
    private BigDecimal refundCoin;

    @Schema(description = "退款金额")
    private BigDecimal refundPrice;

    @Schema(description = "支付渠道编码")
    private String payChannelCode;

    @Schema(name = "支付退款编号", example = "10271")
    private Integer payRefundId;

    @Schema(name = "退款时间")
    private LocalDateTime refundTime;

    @Schema(name = "退货物流公司编号", example = "10")
    private Integer logisticsId;

    @Schema(name = "退货物流单号", example = "610003952009")
    private String logisticsNo;

    @Schema(name = "退货时间")
    private LocalDateTime deliveryTime;

    @Schema(name = "收货时间")
    private LocalDateTime receiveTime;

    @Schema(name = "收货备注", example = "不喜欢")
    private String receiveReason;

    @Schema(description = "商品")
    private OrderItemResp orderItem;
}