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

import com.yn.bftl.thirdparty.common.dto.BaseSecretDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "ProfitSharingRuleDTO", description = "分账规则DTO")
@Builder
public class ProfitSharingRuleDTO extends BaseSecretDTO {

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

    @ApiModelProperty(value = "平台电子账户名称")
    private String merName;

    @ApiModelProperty(value = "业务类型")
    private String bizType;

    @ApiModelProperty(value = "是否指令分账", notes = "0：非指令分账" +
                                                    "1：指令分账")
    private Integer isInstr;

    @ApiModelProperty(value = "分账资金清算周期（T+N 日）", notes = "范围 1~30 的整数，默认为 1。指令分账时填写无效。非指令分账传入 1 则表示 T+1 日进行清算。")
    private Integer settCyc;

    @ApiModelProperty(value = "分账起始金额", notes = "单位（分）默认为 0。指令分账时填写无效。非指令分账当结算金额小于分账起始金额时，会自动全部分账给平台电子账户。")
    private Long startAmt;

    @ApiModelProperty(value = "分账方式", notes = "01：按比例分账" +
                                                "02：按固定金额分账")
    private String settRuleType;

    @ApiModelProperty(value = "分账清算规则列表")
    private List<ProfitSharingRuleDetailDTO> settRuleList;

    @ApiModelProperty(value = "分账规则协议文件ID -列表", notes = "分账规则协议文件 ID。调用获取凭证接口得到上传文件地址，上传文件后得到文件 ID。详见《电子账户 H5 接入文档》")
    private List<ByxFileIdDTO> fileList;


}
