package com.wzj.soopin.transaction.domain.bo.easypay.separate.refund.req;

import com.wzj.soopin.transaction.domain.bo.easypay.PayInfo;
import com.wzj.soopin.transaction.domain.bo.easypay.ReqInfo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 分账回退请求参数
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class SeparateRefundReqBody {
    /**
     * 支付信息
     */
    private PayInfo payInfo;
    /**
     * 请求方信息
     */
    private ReqInfo reqInfo;
    /**
     * 基础订单信息
     */
    private ReqOrderInfo reqOrderInfo;

    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    @Builder
    public static class ReqOrderInfo {
        /**
         * 商户订单号，商户生成请求易生的流水号
         */
        private String orgTrace;
        /**
         * 原分账总单流水
         */
        private String oriSeparateBatchTrace;
        /**
         * 原分账子单流水号
         */
        private String oriSeparateTrade;
        /**
         * 原业务日期
         */
        private String oriTransDate;
        /**
         * 回退金额
         */
        private long refundAmount;
    }
}
