package com.yn.bftl.thirdparty.modules.unionpay.dto;

import io.swagger.annotations.ApiModel;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

/**
 * 银联退款DTO
 * @author huabiao
 * @create 2022/9/5  9:32
 **/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "UnionpayRefundDTO", description = "银联退款DTO")
@Builder
public class UnionpayRefundDTO {

    /**
     * 报文请求时间，格式yyyy-MM-dd HH:mm:ss
     */
    String requestTimestamp;

    /**
     * 原交易订单号
     */
    String merOrderId;

    /**
     * 业务类型
     */
    @Builder.Default
    String instMid = "APPDEFAULT";

    /**
     * 商户号
     */
    String mid;

    /**
     * 终端号
     */
    String tid;

    /**
     * 退款金额
     */
    Long refundAmount;

    /**
     * 要退款的订单号
     */
    String refundOrderId;

    /**
     * 平台商户退款分账金额
     * 单位:分，若原交易是分账交易，则分账金额必传，且退款接口platformAmount小于下单接口 中上送的platformAmount
     */
    String platformAmount;

    /**
     * 子订单信息
     * 若原交易有分账，退款时必填
     */
    List<UnionpaySubOrderItemDTO> subOrders;

    /**
     * 退货说明
     */
    String refundDesc;
}
