package cn.iocoder.yudao.module.research.controller.admin.application.vo.member; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.Pattern; import jakarta.validation.constraints.Size; import lombok.Data; @Schema(description = "管理后台 - 课题申报书成员新增/修改 Request VO") @Data public class ResearchApplicationMemberSaveReqVO { @Schema(description = "编号", example = "1") private Long id; @Schema(description = "成员姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") @NotBlank(message = "成员姓名不能为空") @Size(max = 64, message = "成员姓名长度不能超过 64 个字符") private String name; @Schema(description = "联系电话(选填,填写时须为 11 位手机号)", example = "13800138000") @Size(max = 20, message = "联系电话长度不能超过 20 个字符") @Pattern(regexp = "^$|^1[3-9]\\d{9}$", message = "成员联系电话格式不正确,请输入正确的 11 位手机号") private String contactPhone; @Schema(description = "所属单位", example = "XX大学") @Size(max = 128, message = "所属单位长度不能超过 128 个字符") private String workUnit; @Schema(description = "职称/职务", example = "副教授") @Size(max = 64, message = "职称/职务长度不能超过 64 个字符") private String jobTitle; @Schema(description = "成员角色:主持人 / 核心成员 / 参与人", example = "核心成员") @Size(max = 32, message = "成员角色长度不能超过 32 个字符") private String memberRole; @Schema(description = "排序号", example = "1") private Integer sortNo; }