package com.seer.teach.pay.api.wallet.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import org.springframework.validation.annotation.Validated;

import jakarta.validation.constraints.DecimalMin;
import jakarta.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * 用户账户余额操作请求参数
 */
@Validated
@ToString
@Setter
@Getter
@Builder
@Schema(description = "用户账户余额操作请求参数")
@NoArgsConstructor
@AllArgsConstructor
public class UserCoinAccountBalanceReqDTO {

    @NotNull(message = "用户ID不能为空")
    @Schema(description = "用户ID", example = "1001")
    private Integer userId;

    @NotNull(message = "账户ID不能为空")
    @Schema(description = "账户ID", example = "2001")
    private Integer accountId;

    @NotNull(message = "金额不能为空")
    @DecimalMin(value = "0.00", message = "金额不能为负数")
    @Schema(description = "操作金额（单位：分）", example = "100.00")
    private BigDecimal amount;

}