package com.yn.bftl.thirdparty.modules.chinaums.dto.byx;

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

import java.util.List;

/**
 * 银联担保支付确认DTO
 *
 **/
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "ByxChinaumsGuaranteePayConfirmsDTO", description = "银联担保支付确认DTO")
@Builder
public class ByxChinaumsGuaranteePayConfirmsDTO {

    @ApiModelProperty(value = "商户订单号", notes = "客户端唯一标记该笔交易。")
    private String mctOrderNo;

    @ApiModelProperty(value = "担保支付订单号", notes = "业务类型为担保支付必填。")
    private String oriTransOrderNo;

    @ApiModelProperty(value = "系统参考号", notes = "业务类型为好支付时必填。来源于聚合支付的支付回调（seqid）。")
    private String refNo;

    @ApiModelProperty(value = "清算日期", notes = "业务类型为好支付时必填。来源于聚合支付的支付回调（settleDate）。")
    private String settDate;

    @ApiModelProperty(value = "平台电子账户 ID")
    private String platformWalletId;

    @ApiModelProperty(value = "结算金额", notes = "单位（分）分账循环域中分账金额之和。")
    private Long settAmt;

    @ApiModelProperty(value = "是否完结", notes = "Y：是（不允许再调用确认结算接口）N：否")
    private String isFinished;

    @ApiModelProperty(value = "业务类型", notes = "030001: 担保支付， 030002：好支付")
    private String bizType;

    @ApiModelProperty(value = "通知 ur")
    private String notifyUrl;

    @ApiModelProperty(value = "随机校验码")
    private String randomValidCode;

    @ApiModelProperty(value = "外部索引号")
    private String extIdxNo;

    @ApiModelProperty(value = "分账规则 ID", notes = "担保支付未上送分账规则 ID 时，分账方只能为平台电子账户 ID")
    private String profitSharingRuleId;

    @ApiModelProperty(value = "分账单信息，必填。")
    private List<ByxChinaumsGuaranteePayConfirmsDetailDTO> profitSharingList;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "摘要")
    private String abst;
}
