package cn.iocoder.yudao.module.research.controller.admin.review.vo; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import lombok.Data; import java.math.BigDecimal; @Schema(description = "管理后台 - 专家评审明细新增/修改 Request VO") @Data public class ResearchTopicReviewSaveReqVO { @Schema(description = "编号", example = "1") private Long id; @Schema(description = "课题申报书 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotNull(message = "课题申报书不能为空") private Long applicationId; @Schema(description = "专家姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") @NotEmpty(message = "专家姓名不能为空") private String evaluatorName; @Schema(description = "专家所在单位", example = "XX大学") private String evaluatorUnit; @Schema(description = "专家职称", example = "教授") private String evaluatorTitle; @Schema(description = "选题价值与意义得分(0~100,权重0.3)", example = "85.00") private BigDecimal topicScore; @Schema(description = "研究方案可行性得分(0~100,权重0.3)", example = "90.00") private BigDecimal planScore; @Schema(description = "团队与研究基础得分(0~100,权重0.2)", example = "80.00") private BigDecimal teamScore; @Schema(description = "预期成果与效益得分(0~100,权重0.2)", example = "75.00") private BigDecimal resultScore; @Schema(description = "评审结论:1-推荐立项 2-不推荐立项", example = "1") private Integer conclusion; @Schema(description = "评审意见", example = "选题符合学会年度方向,方案可行,建议立项支持") private String opinion; }