package cn.iocoder.yudao.module.ums.controller.admin.member.vo; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; import lombok.Data; import java.time.LocalDate; import java.util.List; @Schema(description = "管理后台 - 会员新增/修改 Request VO") @Data public class UmsMemberSaveReqVO { @Schema(description = "编号", example = "1") private Long id; @Schema(description = "会员类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotNull(message = "会员类型不能为空") private Integer memberType; @Schema(description = "会员等级", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotEmpty(message = "会员等级不能为空") private String memberGrade; @Schema(description = "姓名(个人)或单位名称(单位)", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") @NotEmpty(message = "姓名不能为空") private String name; @Schema(description = "联系人(单位用)", example = "王五") private String contactUser; @Schema(description = "联系电话", example = "13800138000") private String contactPhone; @Schema(description = "邮箱", example = "zhangsan@example.com") private String contactEmail; @Schema(description = "法定代表人(单位专有)", example = "李四") private String legalPerson; @Schema(description = "统一社会信用代码", example = "91440101MA5XXXXXX") private String organizationCode; @Schema(description = "研究方向", example = "人工智能与智能制造") private String researchDirection; @Schema(description = "工作单位(个人专有)", example = "XX大学") private String workUnit; @Schema(description = "职称(个人专有)", example = "教授") private String title; @Schema(description = "单位简介(单位专有)", example = "专注于智能制造领域") private String unitIntro; @Schema(description = "地区编码", example = "110000") private String regionCode; @Schema(description = "行业", example = "1") private String industry; @Schema(description = "入会日期", example = "2026-01-01") private LocalDate joinDate; @Schema(description = "有效期至", example = "2028-01-01") private LocalDate expireDate; @Schema(description = "状态", example = "1") private Integer status; @Schema(description = "备注", example = "") private String remark; @Schema(description = "附件BlobId列表") private List blobIds; }