export interface StudentEducationVO {
  id: string | number;
  studentId: string | number;
  school: string;
  education: string;
  startTime: string;
  endTime: string;
  major: string;
  campusExperience: string;
}

export interface StudentExperienceVO {
  id: string | number;
  studentId: string | number;
  company: string;
  industry: string;
  startTime: string;
  endTime: string;
  isInternship: number;
  jobTitle: string;
  department: string;
  workContent: string;
}

export interface StudentProjectVO {
  id: string | number;
  studentId: string | number;
  projectName: string;
  role: string;
  startTime: string;
  endTime: string;
  description: string;
  achievement: string;
  link: string;
}

export interface StudentVO {
  id: string | number;
  studentNo: string;
  name: string;
  mobile: string;
  email: string;
  idCardNumber: string;
  gender: string;
  avatar: string | number;
  avatarUrl?: string;
  userType: string;
  userTypeLabel?: string;
  totalAmount: number;
  availability: string;
  jobIntention: string;
  jobType: string;
  schoolName: string;
  education: string;
  grade: string;
  internshipDuration: string;
  resumeFile: string | number;
  status: string;
  loginDate: string;
  createTime: string;
  updateTime?: string;
  remark: string;
  evaluationCount?: number;
  consultationCount?: number;
  isEmployed?: string;
  educationList?: StudentEducationVO[];
  experienceList?: StudentExperienceVO[];
  projectList?: StudentProjectVO[];
}

export interface StudentQuery extends PageQuery {
  studentNo?: string;
  name?: string;
  mobile?: string;
  userType?: string;
  status?: string;
  isBlacklist?: string;
}

export interface StudentForm {
  id?: string | number;
  studentNo?: string;
  name?: string;
  mobile?: string;
  email?: string;
  idCardNumber?: string;
  gender?: string;
  avatar?: string | number;
  userType?: string;
  availability?: string;
  jobIntention?: string;
  jobType?: string;
  schoolName?: string;
  education?: string;
  grade?: string;
  internshipDuration?: string;
  resumeFile?: string | number;
  status?: string;
  remark?: string;
}
