package com.yuchen.saas.payment.api.dto.wallet;

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

import javax.validation.constraints.NotNull;

/**
 * @author zhouhanwei
 * @create 2023/4/28 9:01
 */
@Data
public class FreezeUserWalletCostReqDTO {

    /**
     * 钱包id
     */
    @NotNull(message = "钱包id不能为空")
    @ApiModelProperty(name = "walletId", value = "钱包用户id")
    private Long walletId;

    /**
     * 钱包类型（1：平台钱包，2：渠道钱包）
     */
    @NotNull(message = "钱包类型不能为空")
    @ApiModelProperty(name = "walletType", value = "钱包类型（1：平台钱包，2：渠道钱包）")
    private String walletType;

    /**
     * 钱包用户id
     */
    @NotNull(message = "钱包用户id不能为空")
    @ApiModelProperty(name = "walletUserId", value = "钱包用户id")
    private Long walletUserId;

    /**
     * 冻结金额
     */
    @NotNull(message = "冻结金额不能为空")
//    @Range(min = 1, max = 50000, message = "冻结金额请控制在500元以内")
    @ApiModelProperty(name = "freezeCost", value = "剩余冻结金额")
    private Long freezeCost;

    /**
     * 支付金额
     */
    @NotNull(message = "支付金额不能为空")
//    @Range(min = 1, max = 50000, message = "冻结金额请控制在500元以内")
    @ApiModelProperty(name = "payCost", value = "支付金额")
    private Long payCost;

    /**
     * 充电账单id
     */
    @ApiModelProperty(name = "spcBillId", value = "充电账单id")
    private String spcBillId;

    /**
     * 当前金额状态
     */
    @NotNull(message = "当前金额状态")
    @ApiModelProperty(name = "walletFlag", value = "钱包状态1：冻结，2：解冻")
    private String walletFlag;
}
