package top.awinx.stu01.dto;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import lombok.Data;

/**
 * 添加学生请求参数DTO
 */
@Data
public class StudentAddDTO {

    /**
     * 学号（8位纯数字）
     */
    @NotBlank(message = "学号不能为空")
    @Pattern(regexp = "^\\d{8}$", message = "学号必须为8位纯数字，不能包含特殊字符")
    private String stuNo;

    /**
     * 学生姓名
     */
    @NotBlank(message = "学生姓名不能为空")
    private String name;

    /**
     * 专业（计算机/数学/英语）
     */
    @NotBlank(message = "专业不能为空")
    @Pattern(regexp = "^(计算机|数学|英语)$", message = "专业仅支持：计算机、数学、英语")
    private String major;

    /**
     * 关联用户ID
     */
    @NotNull(message = "关联用户ID不能为空")
    private Long userId;
}
