package cn.iocoder.yudao.module.research.controller.admin.fund.vo; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.PositiveOrZero; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; import java.time.LocalDate; import java.util.List; import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY; @Schema(description = "管理后台 - 经费拨付记录新增/修改 Request VO") @Data public class ResearchFundRecordSaveReqVO { @Schema(description = "编号", example = "1") private Long id; @Schema(description = "课题申报书 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotNull(message = "课题申报书不能为空") private Long applicationId; @Schema(description = "拨付批次", example = "第一期") private String batchName; @Schema(description = "拨付金额(元)", requiredMode = Schema.RequiredMode.REQUIRED, example = "50000.00") @NotNull(message = "拨付金额不能为空") @PositiveOrZero(message = "拨付金额不能为负数") private BigDecimal amount; @Schema(description = "拨付日期", example = "2026-12-01") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) private LocalDate payDate; @Schema(description = "收款单位/账户名", example = "XX大学") private String payee; @Schema(description = "备注") private String remark; @Schema(description = "凭证附件BlobId列表") private List blobIds; }