package com.neusoft.smart.pos.dto.card.request;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.NotEmpty;

import javax.validation.constraints.DecimalMax;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

@Data
@ApiModel(value = "卡资金转账请求对象")
public class TransferRequest {

	@ApiModelProperty(name = "sourceCardNum", value = "资金流出方卡号", dataType = "String", example = "123546798")
	private String sourceCardNum;

	@ApiModelProperty(name = "sourceCardAnotherId", value = "资金流出方卡Id2", dataType = "String", example = "2")
	private String sourceCardAnotherId;

	@ApiModelProperty(name = "sourceCardOtherId", value = "资金流出方卡其他识别ID", dataType = "String", example = "123546798")
	private String sourceCardOtherId;

	@ApiModelProperty(name = "targetCardNum", value = "资金流入方卡号", dataType = "String", example = "123546798")
	private String targetCardNum;

	@ApiModelProperty(name = "targetCardAnotherId", value = "资金流入方卡Id2", dataType = "String", example = "2")
	private String targetCardAnotherId;

	@ApiModelProperty(name = "targetCardOtherId", value = "资金流入方卡其他识别ID", dataType = "String", example = "123546798")
	private String targetCardOtherId;
	
	@NotEmpty(message = "转账订单编号不可为空")
	@ApiModelProperty(name = "outTransferOrderNo", value = "转账订单编号", dataType = "String", example = "xxxxxxxxxx", required = true)
	private String outTransferOrderNo;
	
	@NotNull(message = "转账金额不可为空")
	@ApiModelProperty(name = "transferAmount", value = "转账金额(单位：分)", dataType = "Long", example = "123", required = true)
	private Long transferAmount;
	
	@NotNull(message = "转账时间不可为空")
	@ApiModelProperty(name = "transferTime", value = "转账时间", dataType = "Date", example = "2018-04-16 15:20:32", required = true)
	private Date transferTime;
	
	
}