package com.liquidnet.common.third.sqb.param.callback;



import lombok.Data;

import java.util.List;

@Data
/**
 * SqbRefundContentDTO
 */
public class RefundCallbackContent {

    /** 售后单号 (全局唯一) */
    private String ticketSn;

    /** 订单号 */
    private String orderSn;

    /** 原状态 */
    private Integer sourceState;

    /** 目标状态 (20:完成, 15:退款完成, 0:创建, 10:退款中, 30:取消退款) */
    private Integer targetState;

    /** 下单金额 (单位：分) */
    private Long amount;

    /** 申请金额 (单位：分) */
    private Long applyAmount;

    /** 请求号 */
    private String requestId;

    /** 来源 (如: EXTERN) */
    private String requestSource;

    /** 退款的商品信息 */
    private SqbRefundItemContainer item;

    @Data
    /**
 * SqbRefundItemContainer
 */
    public static class SqbRefundItemContainer {

        /** 退款类型 (1:商品, 2:金额) */
        private Byte type;

        /** 商品明细列表 */
        private List<SqbRefundItemDetail> items;
    }

    @Data
    /**
 * SqbRefundItemDetail
 */
    public static class SqbRefundItemDetail {

        /** spu id */
        private String spuId;

        /** sku id */
        private String skuId;

        /** 标题 */
        private String title;

        /** 数量 */
        private String quantity;

        /** 退款类型 (0:正常商品, 1:自定义商品) */
        private Byte type;
    }
}
