package io.renren.common.vo.trans;

import java.util.List;

import javax.validation.constraints.NotBlank;

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

/**
 * 内部代发申请 请求参数
 * @author lsy
 */

@Data
@ApiModel(value = "代发申请")
public class TransferMorepyeeReq {
	
	@NotBlank(message = "amount is not null")
	@ApiModelProperty(value = "订单总金额，单位为元，精确到小数点后两位。")
	private String amount;
    
	private PayerInfo payerInfo;
	
    private List<PayeeInfo> payeeInfo;

	
	/**
	 * 付款方信息
	 */
	@Data
	public class PayerInfo{
		@NotBlank(message = "payerId is not null")
		@ApiModelProperty(value = "付款方标识")
		private String payerId;
		
		@NotBlank(message = "password is not null")
		@ApiModelProperty(value = "支付密码")
		private String password;
		
		@NotBlank(message = "payerType is not null")
		@ApiModelProperty(value = "付款方类型。用户：USER；平台商户：MERCHANT")
		private String payerType;
		
		@NotBlank(message = "payerAccttype is not null")
		@ApiModelProperty(value = "付款方类型为商户时需要指定平台商户账户类型。USEROWN：用户自有可用账户;MCHOWN：平台商户自有可用账户")
		private String payerAccttype;
	}
	
	/**
	 * 收款方信息
	 */
	@Data
	public class PayeeInfo{
		@NotBlank(message = "payeeId is not null")
		@ApiModelProperty(value = "付款方标识")
		private String payeeId;
		
		@NotBlank(message = "payeeType is not null")
		@ApiModelProperty(value = "付款方类型。用户：USER；平台商户：MERCHANT")
		private String payeeType;
		
		@NotBlank(message = "payeeAccttype is not null")
		@ApiModelProperty(value = "收款方为平台商户时必传。用户账户：USEROWN;平台商户自有资金账户：MCHOWN;平台商户优惠券账户：MCHCOUPON;平台商户手续费账户：MCHFEE")
		private String payeeAccttype;
		
		@NotBlank(message = "payeeAmount is not null")
		@ApiModelProperty(value = "收款金额。单位：元，精确到小数点后两位。")
		private String payeeAmount;
	}
}
