package cn.iocoder.yudao.module.research.controller.admin.guideline.vo; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; import java.util.List; import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @Schema(description = "管理后台 - 课题指南新增/修改 Request VO") @Data public class ResearchGuidelineSaveReqVO { @Schema(description = "编号", example = "1") private Long id; @Schema(description = "指南名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "2026年度学会科研课题指南") @NotEmpty(message = "指南名称不能为空") private String title; @Schema(description = "课题类别:1-重点课题 2-一般课题", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotNull(message = "课题类别不能为空") private Integer category; @Schema(description = "申报开始时间", example = "2026-10-01 00:00:00") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime applyStartTime; @Schema(description = "申报截止时间", example = "2026-11-30 23:59:59") @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) private LocalDateTime applyEndTime; @Schema(description = "指南正文") private String content; @Schema(description = "备注") private String remark; @Schema(description = "附件BlobId列表") private List blobIds; }