package com.jeequan.jeepay.core.model.rqrs.division;

import com.alibaba.fastjson.JSONObject;
import com.jeequan.jeepay.core.constants.CS;
import com.jeequan.jeepay.core.model.rqrs.AbstractMchAppRQ;
import lombok.Data;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/*
* 分账账号的绑定 请求参数
*
* @author terrfly
*
* @date 2021/8/25 09:21
*/
@Data
public class DivisionReceiverBindRQ extends AbstractMchAppRQ {

    /** 支付接口代码   **/
    @NotBlank(message="所属通道[ifCode]不能为空")
    private String ifCode;

    @NotBlank(message="所属渠道号[isvNo]不能为空")
    private String isvNo;

    /** 接收者账号别名 **/
    private String receiverAlias;

    /** 分账接收账号类型: 0-个人(对私) 1-商户(对公) **/
    @NotNull(message="分账接收账号类型不能为空")
    @Range(min = 0, max = 1, message = "账号类型[accType]有误")
    private Byte accType;

    /** 分账接收账号 **/
    @NotBlank(message="分账接收账号不能为空")
    private String accNo;

    /** 分账接收账号名称 **/
    private String accName;

    /** 扩展参数 */
    private JSONObject extInfo;

    @Override
    public String apiName() {
        return CS.MCH_APP_API_ENUM.API_DIVISION_BIND;
    }
}
