package org.springblade.yeePay.entity.saas.trade;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springblade.yeePay.common.YeepayApiConstant;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;

@NoArgsConstructor
@AllArgsConstructor
@Data
@Builder
@ApiModel("企业账户支付-自动付款入参")
public class EnterpriseAutoPaymentOrderDto {

	@NotBlank
	@ApiModelProperty(value = "收款方商编", required = true)
	private String merchantNo;

	@NotBlank
	@ApiModelProperty(value = "商户请求号", required = true)
	private String orderId;

	@NotBlank
	@ApiModelProperty(value = "订单金额", required = true)
	private String orderAmount;

	/**
	 * 分账标识,默认不分账
	 * 可选项如下:
	 * DELAY_SETTLE:分账
	 * REAL_TIME:不分账
	 */
	@ApiModelProperty(value = "分账标识")
	private YeepayApiConstant.fundProcessType fundProcessType;

	@NotBlank
	@ApiModelProperty(value = "商品名称", required = true)
	private String goodsName;

	@ApiModelProperty(value = "订单有效期-截止时间 格式yyyy-MM-DD HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-DD HH:mm:ss")
	private String expiredTime;

	@ApiModelProperty(value = "收款方回调通知地址")
	private String notifyUrl;

	@ApiModelProperty(value = "收单对账备注")
	private String memo;

	@ApiModelProperty(value = "付款方回调地址")
	private String payerNotifyUrl;

}
