package cn.iocoder.yudao.module.cash.controller.admin.paymentinfo.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

@Schema(description = "管理后台 - 付款信息新增/修改 Request VO")
@Data
public class PaymentInfoSaveReqVO {

    @Schema(description = "主键")
    private Long id;

    @Schema(description = "付款标题", example = "付款标题1")
    @NotBlank(message = "付款标题不能为空")
    private String paymentTitle;

    @Schema(description = "付款日期", example = "2024-08-07")
    @NotBlank(message = "付款日期不能为空")
    private String paymentDate;

    @Schema(description = "付款金额", example = "10.01")
    @NotNull(message = "付款金额不能为空")
    @Min(value = 0, message = "付款金额必须大于0")
    private BigDecimal paymentMoney;

    @Schema(description = "收款方信息", example = "收款方信息1")
    @NotBlank(message = "收款方信息不能为空")
    private String payee;

    @Schema(description = "付款事由", example = "付款事由1")
    @NotBlank(message = "付款事由不能为空")
    private String reason;

    @Schema(description = "备注", example = "备注可以不写")
    private String remarks;

    @Schema(description = "附件主键id", example = "[1, 2]")
    private List<Long> fileIdList;
}