import {AssignmentStatus, Role} from './enums'; export interface AssignmentDTO { assignmentName: string; // 作业名称不能缺失 description: string; // 作业描述不能缺失 type:string, //作业类型不能缺失 descriptionFile?: string; // 作业要求,Word/Pdf文件 (可选) attachments?: string[]; // 作业附件 (可选) startTime: string; // 起始时间不能缺失 (ISO 8601 日期时间字符串) endTime: string; // 结束时间不能缺失 (ISO 8601 日期时间字符串) examMode?: boolean; examDuration?: number; } export interface AISpeakingAssignmentDTO { assignmentName: string; // 作业名称不能缺失 description?: string; // 作业描述不能缺失 descriptionFile?:string; type:string,//作业类型不能缺失 startTime: string; // 起始时间不能缺失 (ISO 8601 日期时间字符串) endTime: string; // 结束时间不能缺失 (ISO 8601 日期时间字符串) minDuration:number;//最小时长 minInteraction:number;//最小交流次数 surveyLinks:string[], surveyDuration:number } export interface AssignmentQueryDTO { assignmentId?: number; teacherId?: number; courseId?: number; assignmentName?: string; status?: AssignmentStatus; type:string; } export interface EnrollDTO { studentId:number; courseId:number; enrollCode:string; } export interface CourseDTO { courseName: string; // 课程名不能缺失 teacherIds: number[]; // 老师Id不能缺失 courseImages?: string[]; // 可选 targetGrade?: string; // 可选 startTime: string; // 起始时间不能缺失 (ISO 8601 日期时间字符串) endTime: string; // 截止时间不能缺失 (ISO 8601 日期时间字符串) description: string; // 课程描述不能缺失 } export interface CourseUpdateDTO { courseName: string; // 课程名不能缺失 teacherIds: number[]; // 老师Id不能缺失 courseImages?: string[]; // 可选 targetGrade?: string; // 可选 startTime: string; // 起始时间不能缺失 (ISO 8601 日期时间字符串) endTime: string; // 截止时间不能缺失 (ISO 8601 日期时间字符串) description: string; // 课程描述不能缺失 // enrollCode: string; // 选课码不能缺失 } export interface UserRegisterDTO { name: string; // 真实姓名不能缺失 password: string; // 密码(加密存储)不能缺失 officialEmail: string; // 南大官邮,xxx@smail.nju.edu.cn 不能缺失 phone: string; verifyCode: string; // 验证码不能缺失 officialNumber: string; // 南大学号、工号不能缺失 role: Role; // 用户角色:学生、教师、管理员不能缺失 } export interface UserUpdateDTO { userAvatar?: string; lastLoginTime?: string; englishName?: string; gender?: string; birthday?: string; phone?: string; contentEmail?: string; } export interface PasswordChangeDTO { password: string; officialEmail: string; verifyCode: string; } // 新增:班级信息接口 export interface ClassDTO { classId: number; className: string; courseId: number; stuNumber: number; classTime: string; teacherId: number; } // 新增:学生作业状态接口 export interface StudentAssignmentStatusDTO { studentId: number; officialNumber: string; stuName: string; status: string; // "CORRECTED" | "NOT_SUBMITTED" | "SUBMITTED" score: number; }