package com.neusoft.smart.pos.dto.member.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 MemberRefundRequest {
	
	private Integer memberTransactionId;
	
	@NotEmpty(message = "会员卡号不可为空")
	@ApiModelProperty(name = "cardNum", value = "会员卡号", dataType = "Integer", example = "123546798", required = true)
	private String cardNum;
	
	@NotEmpty(message = "订单编号不可为空")
	@ApiModelProperty(name = "refundOrderNo", value = "退款编号", dataType = "String", example = "xxxxxxxxxx", required = true)
	private String refundOrderNo;
	
	@NotNull(message = "退款金额不可为空")
	@ApiModelProperty(name = "refundAmount", value = "退款金额", dataType = "BigDecimal", example = "123.21", required = true)
	@DecimalMax(value = "999999999.99", message = "退款金额不可大于999999999.99")
	private BigDecimal refundAmount;
	
	@NotNull(message = "交易支付方式不可为空")
	@ApiModelProperty(name = "transactionMode", value = "交易支付方式", dataType = "Integer", example = "2", required = true)
	private Integer transactionMode;
	
	private String refundUser;
	
	@NotNull(message = "退款时间不可为空")
	@ApiModelProperty(name = "refundTime", value = "退款时间", dataType = "Date", example = "2018-04-16 15:20:32", required = true)
	private Date refundTime;
	
}