package com.sckw.payment.request;


import com.sckw.core.model.page.PageRequest;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.*;
import lombok.Data;

import java.math.BigDecimal;

/**
 * Author: donglang
 * Time: 2025-11-03
 * Des: 钱包明细查询参数
 * Version: 1.0
 */

@Data
public class KwpBizWalletPrepayRequest extends PageRequest {

    /**
     * 钱包id
     */
    @Schema(description = "钱包id")
    private Long walletId;

    /**
     * 本次更新金额（单位：元，保留2位小数）
     */
    @Schema(description = "本次更新金额")
    @NotNull(message = "金额不能为空！")
    @Positive(message = "金额必须大于0！")
    @Digits(integer = 9, fraction = 5, message = "金额最多9位整数和5位小数！")
    private BigDecimal amount;

    /**
     * 动帐类型  0-预付、1-扣款、2-冻结、3-解冻、4-消费
     */
    @NotNull(message = "资金方向不能为空！")
    @Schema(description = "动帐类型  0-预付、1-扣款、2-冻结、3-解冻、4-消费")
    @Min(value = 0, message = "动帐类型不能小于0")
    @Max(value = 4, message = "动帐类型不能大于4")
    private Integer type;

    /**
     * 备注
     */
    @NotBlank(message = "备注不能为空！")
    @Schema(description = "备注")
    private String remark;

    /**
     * 凭证URL地址
     */
    @Schema(description = "凭证URL地址")
    private String voucherUrl;


}
