package com.yuchen.saas.payment.api.param;

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

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * @author zhouhanwei
 * @create 2023/7/4 19:13
 */
@Data
public class UnPaidOrderGoToPayReqDTO {

    @ApiModelProperty(name = "dataSourceNo", value = "数据来源应用号")
    private String dataSourceNo;

    @ApiModelProperty(name = "payUseEnvironment", value = "使用环境（1：微信小程序，2：支付宝小程序，3：H5， 4：PC浏览器，5：APP，6：微信收款码，7：支付宝收款码）")
    private String payUseEnvironment;

    @ApiModelProperty(value = "用户IP")
    private String userIp;

    @ApiModelProperty(value = "支付类型")
    @NotBlank(message = "支付类型不能为空")
    private String payType;

    @ApiModelProperty(value = "支付成功跳转页面")
    private String urlReturn;

    @ApiModelProperty(value = "账单实收总金额")
    @NotNull(message = "账单金额不能为空")
    private Long payTotalCost;

    @ApiModelProperty(value = "支付单号")
    @NotBlank(message = "支付单号不能为空")
    private String orderNumber;

    @ApiModelProperty(value = "账单类型（1-临停 2-月卡）")
    @NotNull(message = "账单类型不能为空")
    private Integer billType;

    @ApiModelProperty(value = "账单ID")
    @NotBlank(message = "账单ID不能为空")
    private String billId;

    @ApiModelProperty(value = "用户优惠券id")
    private String couponRecordId;

    /**
     * 钱包id
     */
    @ApiModelProperty(name = "walletId", value = "钱包id")
    private Long walletId;

    /**
     * 钱包类型（1：个人钱包）
     */
    @ApiModelProperty(name = "walletAccountType", value = "钱包类型（1：个人钱包, 2:渠道钱包）")
    private String walletType;
}
