package com.slodon.b2b2c.starter.entity.cpcn;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * 5031 延迟分账
 */
@Data
public class TxSplitAccountRequest implements Serializable {
    private static final long serialVersionUID = 5696914545594606903L;
    @ApiModelProperty(value = "机构编号", required = true)
    private String institutionId;
    @ApiModelProperty(value = "分账流水号", required = true)
    private String txSn;
    @ApiModelProperty(value = "原交易流水号", required = true)
    private String paymentTxSN;
    @ApiModelProperty(value = "原支付交易时间，格式：yyyyMMdd；不上送只支持一年之内的支付交易查询", required = true)
    private String sourceTxTime;
    @ApiModelProperty(value = "本次分账后剩余资金处理方式:1=结算给收款人,2=等待后续分账", required = true)
    private String remainFundsProcess;
    @ApiModelProperty(value = "后台通知地址", required = true)
    private String noticeURL;
    @ApiModelProperty(value = "分账商户列表，最多10个", required = true)
    private List<SplitSellerInfo> splitSellerInfoList = new ArrayList<>();

    /**
     * 资质图片信息
     */
    @Data
    public static class SplitSellerInfo implements Serializable {
        private static final long serialVersionUID = -2581724534286438193L;
        @ApiModelProperty(value = "分账结算交易流水号", required = true)
        private String splitTxSN;
        @ApiModelProperty(value = "分账用户 ID", required = true)
        private String splitUserID;
        @ApiModelProperty(value = "分账账户号码，分账用户是机构时才可以传，填写0001")
        private String splitAccountNumber;
        @ApiModelProperty(value = "结算金额，单位：分", required = true)
        private String splitAmount;
        @ApiModelProperty(value = "分账备注")
        private String note;
    }
}
