package com.xzx.gc.pay.dto; import com.xzx.gc.common.annotations.valid.RangeConstraint; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.hibernate.validator.constraints.Length; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.math.BigDecimal; @Data public class PayParamDTO { @ApiModelProperty(value = "随机串",hidden = true) @Length(max = 32) private String nonceStr; @ApiModelProperty(value = "签名",hidden = true) private String sign; @ApiModelProperty(value = "需传入应用市场上的APP名字-实际商品名称,如天天爱消除-游戏充值。") @NotBlank(message = "描述不能为空") private String body; @ApiModelProperty(hidden = true,value = "商户系统内部订单号,要求32个字符内") @Length(max = 32) private String outTradeNo; @ApiModelProperty(value = "订单总金额,单位为元") @NotNull(message = "订单金额不能为空") private BigDecimal totalFee; @ApiModelProperty(hidden = true,value = "终端IP") private String spbillCreateIp; @ApiModelProperty(value = "JSAPI--JSAPI支付(或小程序支付)、NATIVE--Native支付、APP--app支付,MWEB--H5支付") @NotBlank(message = "支付类型不能为空") @RangeConstraint(range = "JSAPI,NATIVE,APP,MWEB",message = "支付类型只能属于【JSAPI,NATIVE,APP,MWEB】其中一种") private String tradeType; @ApiModelProperty(hidden = true,value = "订单生成时间,格式为yyyyMMddHHmmss") private String timeStart; @ApiModelProperty(hidden = true,value = "订单失效时间,格式为yyyyMMddHHmmss,2小时内有效") private String timeExpire; @ApiModelProperty(value = "tradeType=JSAPI,此参数必传,用户在商户appid下的唯一标识。") private String openid; @ApiModelProperty(hidden = true) private String clientType; @ApiModelProperty("原金额") private String money; @ApiModelProperty("服务费") private String fee; }