/* eslint-disable */
// @ts-ignore

export type AdvantageAnalysis = {
  /** 班级分析 */
  class_analysis?: ClassAnalysis;
  /** 年级分析 */
  grade_analysis?: GradeAnalysis;
  /** 同分数段分析 */
  score_range_analysis?: ScoreRangeAnalysis;
};

export enum Analysis_typeEnum {
  'question' = 'question',
  'major_question' = 'major_question',
  'objective_subjective' = 'objective_subjective',
}

export type IAnalysis_typeEnum = keyof typeof Analysis_typeEnum;

export enum Analysis_typeEnum2 {
  'question' = 'question',
  'major_question' = 'major_question',
  'objective_subjective' = 'objective_subjective',
}

export type IAnalysis_typeEnum2 = keyof typeof Analysis_typeEnum2;

export type AssignSysRoleRequest = {
  /** 角色ID列表 */
  role_ids: number[];
};

export type authGetCodeUsingGetParams = {
  /** 手机号 */
  phone: string;
  /** 验证类型(1-登录，2-重置密码) */
  verify_type: number;
};

export type authVerifyResetCodeUsingGetParams = {
  /** 手机号 */
  phone: string;
  /** 验证码 */
  code: string;
};

export type AverageComparisonAnalysis = {
  /** 科目分析列表 */
  subjects?: SubjectAnalysisItem[];
};

export type BatchCreateMarkingTaskRecordRequest = {
  /** 批量数据 */
  batch_data: CreateMarkingTaskRecordRequest[];
};

export type BatchFailItem = {
  /** 数据索引 */
  index?: number;
  /** 失败原因 */
  message?: string;
  /** 模板题目ID */
  question_id?: number;
  /** 扫描答题卡信息ID */
  scan_info_id?: number;
  /** 任务ID */
  task_id?: number;
};

export type BatchFileUploadResponse = {
  /** 失败的错误信息列表 */
  errors?: string[];
  /** 失败的文件数量 */
  failed_count?: number;
  /** 成功上传的文件列表 */
  files?: FileResponse[];
  /** 成功上传的文件数量 */
  success_count?: number;
};

export type BatchMarkingTaskRecordResponse = {
  /** 失败数量 */
  fail_count?: number;
  /** 失败的数据 */
  fail_data?: BatchFailItem[];
  /** 成功创建数量 */
  success_count?: number;
  /** 成功创建的数据 */
  success_data?: MarkingTaskRecordResponse[];
};

export type ChangePasswordRequest = {
  new_password: string;
};

export type CheckScoreItem = {
  /** 远程查看URL */
  away_view_url?: string;
  /** 考号 */
  exam_number?: string;
  /** 最终分数 */
  final_score?: number;
  /** 阅卷时间 */
  marked_datetime?: string;
  /** 题目ID */
  question_id?: number;
  /** 阅卷记录列表 */
  records?: CheckScoreRecord[];
  /** 备注 */
  remark?: string;
  /** 扫描信息ID */
  scan_info_id?: number;
  /** 学生ID（考号） */
  student_id?: string;
  /** 学生姓名 */
  student_name?: string;
};

export type CheckScoreRecord = {
  /** 是否优秀 */
  is_excellent?: boolean;
  /** 是否典型 */
  is_model?: boolean;
  /** 是否问题卷 */
  is_problem?: boolean;
  /** 记录ID */
  record_id?: number;
  /** 学校ID */
  school_id?: number;
  /** 打分 */
  score?: number;
  /** 任务类型 */
  task_type?: string;
  /** 教师ID */
  teacher_id?: number;
  /** 教师姓名 */
  teacher_name?: string;
};

export type CheckScoreResponse = {
  /** 平均分 */
  average_score?: number;
  /** 评价方法 */
  evaluate_method?: string;
  /** 学生答题列表 */
  items?: CheckScoreItem[];
  /** 题目ID */
  question_id?: number;
  /** 大题号 */
  question_major?: string;
  /** 小题号 */
  question_minor?: string;
  /** 总分 */
  total_score?: number;
};

export type ClassAnalysis = {
  /** 科目分析列表 */
  subjects?: SubjectAnalysisItem[];
};

export type ClassAnalysisExcelExportRequest = {
  /** 班级字典key列表（class模式时使用） */
  class_ids?: string[];
  /** 考试ID */
  exam_id: number;
  /** 文件名，可选 */
  file_name?: string;
  /** 查询模式：school/class */
  query_mode: string;
  /** 学校ID列表（school模式时使用） */
  school_ids?: number[];
};

export type ClassAnalysisGroup = {
  /** 学校ID或班级字典key */
  group_key?: string;
  /** 学校名或班级名 */
  group_name?: string;
  /** 各档次详情 */
  levels?: ClassLevelDetail[];
  /** 该组学生总数 */
  student_count?: number;
};

export type ClassAnalysisRequest = {
  /** 班级字典key列表（class模式时使用） */
  class_ids?: string[];
  /** 考试ID */
  exam_id: number;
  /** 查询模式：school/class */
  query_mode: string;
  /** 学校ID列表（school模式时使用） */
  school_ids?: number[];
};

export type ClassAnalysisResponse = {
  /** 各档次汇总统计 */
  class_levels?: ClassLevelSummary[];
  /** 考试ID */
  exam_id?: number;
  /** 考试名称 */
  exam_name?: string;
  /** 各组分档统计 */
  groups?: ClassAnalysisGroup[];
  /** 总学生数 */
  total_students?: number;
};

export type ClassAverageRankingItem = {
  /** 本班级平均排名 */
  class_average_rank?: number;
  /** 比较班级平均排名 */
  compare_average_rank?: number;
  /** 考试日期 */
  exam_date?: string;
};

export type ClassAverageScoreItem = {
  /** 本班级平均分 */
  class_average_score?: number;
  /** 比较班级平均分 */
  compare_average_score?: number;
  /** 考试日期 */
  exam_date?: string;
};

export type ClassComparisonRequest = {
  /** 班级标识 */
  class_key: number;
  /** 比较班级标识 */
  compare_class_key: number;
  /** 考试ID */
  exam_id: number;
  /** 科目ID，如果为0则获取老师所带的所有科目 */
  subject_id?: number;
  /** 前N名数量 */
  top_n: number;
};

export type ClassComparisonResponse = {
  /** 平均分排名对比数据 */
  average_rankings?: ClassAverageRankingItem[];
  /** 班级平均分对比数据 */
  average_scores?: ClassAverageScoreItem[];
  /** 班级标识 */
  class_key?: number;
  /** 比较班级标识 */
  compare_class_key?: number;
  /** 考试ID */
  exam_id?: number;
  /** 科目ID */
  subject_id?: number;
  /** 前N名数量 */
  top_n?: number;
  /** 年级前N名数量对比数据 */
  top_n_counts?: ClassTopNCountItem[];
};

export type ClassExamComparisonData = {
  /** 考试对比列表 */
  exam_list?: ExamComparisonItem[];
};

export type ClassExamComparisonDataH = {
  /** 考试对比列表 */
  exam_list?: ExamComparisonItemH[];
};

export type ClassExamComparisonRequest = {
  /** 班级 */
  class_key: number;
  /** 年级 */
  grade_key: number;
  /** 科目ID */
  subject_id?: number;
};

export type ClassExamComparisonRequestH = {
  /** 考试ID */
  exam_id: number;
  /** 班级 */
  class_key: number;
  /** 年级 */
  grade_key: number;
  /** 科目ID */
  subject_id?: number;
};

export type ClassExportRequest = {
  /** 班级字典key列表，必填 */
  class_ids: string[];
  /** 考试ID，必填 */
  exam_id: number;
  /** 角色标识，用于权限过滤 */
  role_key?: number;
  /** 教师权限参数（可选） */
  teacher_id?: number;
};

export type ClassLevelDetail = {
  /** 累计人数（该档次及以上） */
  cumulative_count?: number;
  /** 累计比例 */
  cumulative_rate?: number;
  /** 档次名称 */
  level?: string;
  /** 临界生数量 */
  marginal_count?: number;
  /** 该档次学生数 */
  student_count?: number;
};

export type ClassLevelSummary = {
  /** 档次名称：一档、二档、三档 */
  level?: string;
  /** 占总数比例 */
  percentage?: number;
  /** 该档次总人数 */
  total_count?: number;
};

export type ClassReportExportRequest = {
  /** 班级字典key列表，当query_mode=class时必填 */
  class_ids?: string[];
  /** 考试ID，必填 */
  exam_id: number;
  /** 查询模式：class(按班级), school(按学校，用于联考) */
  query_mode: 'class' | 'school';
  /** 角色标识，用于权限过滤 */
  role_key?: number;
  /** 学校ID列表，当query_mode=school时必填 */
  school_ids?: number[];
  /** 教师权限参数（可选） */
  teacher_id?: number;
};

export type ClassStudentScoreInfo = {
  /** 总得分 */
  all_score?: number;
  /** 班级差异方向 */
  class_diff_direction?: string;
  /** 班级差异排名 */
  class_diff_rank?: number;
  /** 班级排名 */
  class_rank?: number;
  /** 考试科目ID */
  exam_subject_id?: number;
  /** 总分 */
  full_score?: number;
  /** 年级差异方向 */
  grade_diff_direction?: string;
  /** 年级差异排名 */
  grade_diff_rank?: number;
  /** 年级排名 */
  grade_rank?: number;
  /** 是否缺考 */
  is_absent?: boolean;
  /** 学生考试号 */
  student_exam_number?: string;
  /** 学生姓名 */
  student_name?: string;
  /** 学生学号 */
  student_number?: string;
  /** 科目ID */
  subject_id?: number;
};

export type ClassTopNCountItem = {
  /** 本班级前N名数量 */
  class_top_n_count?: number;
  /** 比较班级前N名数量 */
  compare_top_n_count?: number;
  /** 考试日期 */
  exam_date?: string;
};

export type CodeLoginRequest = {
  /** 验证码 */
  code: string;
  /** 手机号 */
  phone: string;
};

export type CodeLoginResponse = {
  /** 访问令牌 */
  access_token?: string;
  /** 过期时间 */
  expire_time?: number;
  /** 刷新令牌 */
  refresh_token?: string;
  /** 请求ID */
  request_id?: string;
};

export type CreateDictionaryItemRequest = {
  /** 字典类型编码 */
  code: string;
  /** 字典项key */
  key: string;
  /** 排序值 */
  sort_order?: number;
  /** 字典项value */
  value: string;
};

export type CreateDictionaryTypeRequest = {
  /** 字典编码 */
  code: string;
  /** 字典名称 */
  name: string;
};

export type CreateDownloadSessionRequest = {
  /** 切片大小 */
  chunk_size: number;
  /** 文件ID */
  file_id: number;
};

export type CreateMarkingTaskRecordRequest = {
  /** 阅卷花费时长(单位:s) */
  duration: number;
  /** 是否标记为优秀 */
  is_excellent?: number;
  /** 是否标记为典型 */
  is_model?: number;
  /** 是否标记为问题卷 */
  is_problem?: number;
  /** 页面模式 */
  page_mode: string;
  /** 模板题目ID */
  question_id: number;
  /** 备注 */
  remark?: string;
  /** 扫描答题卡信息ID */
  scan_info_id: number;
  /** 打分 */
  score: number;
  /** 任务ID */
  task_id: number;
};

export type CreateSysUserRequest = {
  /** 系统用户昵称 */
  nickname: string;
  /** 系统用户密码 */
  password: string;
  /** 系统用户手机号 */
  phone?: string;
  /** 用户角色ID */
  role_id: number;
  /** 学校ID列表 */
  school_ids?: number[];
  /** 系统用户名 */
  username: string;
};

export type CreateTeacherAttentionStudentRequest = {
  /** 备注 */
  remark?: string;
  /** 学生学号 */
  student_number: string;
  /** 是否关注传入的学生 */
  is_attention?: boolean;
};

export type CreateUploadSessionRequest = {
  /** 文件分类 */
  category?: string;
  /** 切片大小 */
  chunk_size: number;
  /** 文件名 */
  filename: string;
  /** 文件标签 */
  tags?: string[];
  /** 文件总大小 */
  total_size: number;
};

export type DictionaryItem = {
  /** 创建人 */
  created_by?: string;
  /** 创建时间 */
  created_time?: string;
  /** 字典类型id */
  dict_id?: number;
  /** 主键id */
  id?: number;
  /** 是否删除 */
  is_deleted?: number;
  /** KEY */
  key?: string;
  /** 排序值 */
  sort_order?: number;
  /** 更新人 */
  updated_by?: string;
  /** 更新时间 */
  updated_time?: string;
  /** VALUE */
  value?: string;
};

export type dictionaryItemsIdUsingDeleteParams = {
  /** 字典项ID */
  id: number;
};

export type dictionaryItemsIdUsingGetParams = {
  /** 字典项ID */
  id: number;
};

export type dictionaryItemsIdUsingPutParams = {
  /** 字典项ID */
  id: number;
};

export type dictionaryItemsUsingGetParams = {
  /** 字典类型编码 */
  code: string;
};

export type DictionaryType = {
  /** 编码 */
  code?: string;
  /** 创建人 */
  created_by?: string;
  /** 创建时间 */
  created_time?: string;
  /** 主键id */
  id?: number;
  /** 是否删除 */
  is_deleted?: number;
  /** 明细 */
  items?: DictionaryItem[];
  /** 名称 */
  name?: string;
  /** 更新人 */
  updated_by?: string;
  /** 更新时间 */
  updated_time?: string;
};

export type dictionaryTypesIdUsingDeleteParams = {
  /** 字典类型ID */
  id: number;
};

export type dictionaryTypesIdUsingGetParams = {
  /** 字典类型ID */
  id: number;
};

export type dictionaryTypesIdUsingPutParams = {
  /** 字典类型ID */
  id: number;
};

export type DifficultyAnalysis = {
  /** 满分 */
  full_score?: number;
  /** 难度等级 */
  level?: string;
  /** 失分比重 */
  miss_percent?: number;
  /** 题目ID列表 */
  question_ids?: number[];
  /** 题号列表 */
  question_numbers?: string[];
  /** 得分 */
  score?: number;
};

export enum Emphasis_typeEnum {
  'up' = 'up',
  'down' = 'down',
  'key' = 'key',
  'wave' = 'wave',
}

export type IEmphasis_typeEnum = keyof typeof Emphasis_typeEnum;

export type ExamComparisonItem = {
  /** 平均分排名 */
  average_rank?: number;
  /** 班级平均分 */
  class_average?: number;
  /** 班级标准分 */
  class_standard?: number;
  /** 考试ID */
  exam_id?: number;
  /** 考试名称 */
  exam_name?: string;
  /** 年级前50名人数 */
  grade_top50_count?: number;
};

export type ExamComparisonItemH = {
  /** 科目ID */
  subject_id?: number;
  /** 科目名称 */
  subject_name?: string;
  /** 班级平均分 */
  class_average?: number;
  /** 年级平均分 */
  grade_average?: number;
  /** 班级排名 */
  class_rank?: number;
};

export type ExamMarkingTaskListResponse = {
  /** 考试列表 */
  list?: ExamMarkingTaskResponse[];
  /** 当前页码 */
  page?: number;
  /** 每页数量 */
  page_size?: number;
  /** 总数 */
  total?: number;
};

export type ExamMarkingTaskResponse = {
  /** 考试时间 */
  exam_date?: string;
  /** 考试ID */
  exam_id?: number;
  /** 考试名称 */
  exam_name?: string;
  /** 考试类型 */
  exam_type?: string;
  /** 年级 */
  grade?: string;
  /** 是否已统分 */
  is_scored?: boolean;
  /** 科目列表 */
  subjects?: SubjectInfo[];
};

export type ExamQuestionStat = {
  /** 考试ID */
  exam_id?: number;
  /** 考试名称 */
  exam_name?: string;
  /** 题目总个数 */
  question_count?: number;
  /** 得分率低于年级的题目个数 */
  score_rate_lower_count?: number;
};

export type examStatisticsStatisConfigUsingGetParams = {
  /** 考试ID */
  exam_id: number;
  /** 配置类型 */
  config_type: string;
  /** 科目ID（可选，不传则返回所有科目配置） */
  subject_id?: number;
};

export type ExamSummary = {
  /** 总分 */
  all_score?: number;
  /** 班级平均分 */
  class_average_score?: number;
  /** 班级最高分 */
  class_max_score?: number;
  /** 班级成员数量 */
  class_member_count?: number;
  /** 班级排名 */
  class_rank?: number;
  /** 满分 */
  full_score?: number;
  /** 年级平均分 */
  grade_average_score?: number;
  /** 年级最高分 */
  grade_max_score?: number;
  /** 年级成员数量 */
  grade_member_count?: number;
  /** 年级排名 */
  grade_rank?: number;
};

export type ExcelExportRequest = {
  /** 筛选条件（根据query_mode选择使用） */
  class_ids?: string[];
  /** 考试ID，必填 */
  exam_id: number;
  /** 文件名，可选 */
  file_name?: string;
  /** 学科选择： */
  include_total_score?: boolean;
  /** 指标选择 */
  indicators: string[];
  /** 分页参数 */
  page?: number;
  /** 每页数量，默认50 */
  page_size?: number;
  /** 查询模式：class(按班级), school(按学校，用于联考) */
  query_mode: 'class' | 'school';
  /** 角色标识，用于权限过滤 */
  role_key?: number;
  /** 学校ID列表，当query_mode=school时必填 */
  school_ids?: number[];
  /** 搜索参数 */
  search_keyword?: string;
  /** 考试科目ID列表，多选 */
  subject_ids?: number[];
  /** 教师权限参数（可选） */
  teacher_id?: number;
};

export type ExportScoreSheetRequest = {
  /** 查询班级 */
  class_key: number;
  /** 考试ID */
  exam_id: number;
  /** 查询年级 */
  grade_key: number;
  /** 考试科目ID */
  subject_id?: number;
};

export type ExportStudentListRequest = {
  /** 班级ID */
  class_id: number;
  /** 考试科目ID */
  exam_subject_id: number;
  /** 年级ID */
  grade_id: number;
  /** 关键词 */
  keyword?: string;
};

export type ExportStudentListResponse = {
  /** 文件名 */
  file_name?: string;
  /** 文件下载链接 */
  file_url?: string;
};

export type FileDownloadSession = {
  /** 切片大小 */
  chunk_size?: number;
  created_at?: string;
  /** 已下载切片数 */
  downloaded_chunks?: number;
  /** 下载者名称 */
  downloader?: string;
  /** 下载者ID */
  downloader_id?: number;
  /** 会话过期时间 */
  expires_at?: string;
  /** 关联的文件ID */
  file_id?: number;
  id?: number;
  /** 会话ID */
  session_id?: string;
  /** 会话状态：downloading, completed, failed, expired */
  status?: string;
  /** 总切片数 */
  total_chunks?: number;
  updated_at?: string;
};

export type FileInfo = {
  created_at?: string;
  /** 文件扩展名 */
  extension?: string;
  /** 原始文件名 */
  filename?: string;
  /** 文件哈希值 */
  hash?: string;
  id?: number;
  /** MIME类型 */
  mime_type?: string;
  /** 文件大小 */
  size?: number;
  /** 文件状态：active, deleted */
  status?: string;
  /** 存储文件名 */
  storage_name?: string;
  /** 存储类型：local, s3, oss等 */
  storage_type?: string;
  updated_at?: string;
  /** 上传者名称 */
  uploader?: string;
  /** 上传者ID */
  uploader_id?: number;
  /** 文件访问URL */
  url?: string;
};

export type FileListResponse = {
  files?: FileResponse[];
  page?: number;
  page_size?: number;
  pages?: number;
  total?: number;
};

export type FileResponse = {
  created_at?: string;
  extension?: string;
  filename?: string;
  hash?: string;
  id?: number;
  mime_type?: string;
  size?: number;
  status?: string;
  storage_name?: string;
  storage_type?: string;
  updated_at?: string;
  uploader?: string;
  uploader_id?: number;
  url?: string;
};

export type FilesBatchDeleteUsingPostBody = number[];

export type FilesBatchUploadUsingPostBody = {
  /** 文件列表 */
  files: unknown[];
  /** 文件分类 */
  category?: string;
  /** 文件标签 */
  tags?: string;
};

export type FilesChunkCancelUsingPostBody = string;

export type filesChunkDownloadUsingGetParams = {
  /** 会话ID */
  session_id: string;
  /** 切片索引 */
  chunk_index: number;
};

export type FilesChunkMergeUsingPostBody = string;

export type filesChunkProgressUsingGetParams = {
  /** 会话ID */
  session_id: string;
};

export type filesChunkResumeUsingGetParams = {
  /** 会话ID */
  session_id: string;
};

export type FilesChunkUploadUsingPostBody = {
  /** 会话ID */
  session_id: string;
  /** 切片索引 */
  chunk_index: number;
  /** 切片文件 */
  chunk: string;
};

export type filesIdDownloadUsingGetParams = {
  /** 文件ID */
  id: number;
};

export type FilesIdRenameUsingPutBody = string;

export type filesIdRenameUsingPutParams = {
  /** 文件ID */
  id: number;
};

export type filesIdUsingDeleteParams = {
  /** 文件ID */
  id: number;
};

export type filesIdUsingGetParams = {
  /** 文件ID */
  id: number;
};

export type FileStats = {
  active_files?: number;
  deleted_files?: number;
  month_uploads?: number;
  today_uploads?: number;
  total_files?: number;
  total_size?: number;
  week_uploads?: number;
};

export type FilesUploadUsingPostBody = {
  /** 文件 */
  file: string;
  /** 文件分类 */
  category?: string;
  /** 文件标签 */
  tags?: string;
};

export type filesUsingGetParams = {
  /** 页码 */
  page?: number;
  /** 每页数量 */
  page_size?: number;
  /** 文件分类 */
  category?: string;
  /** 上传者ID */
  uploader_id?: number;
  /** 文件状态 */
  status?: string;
  /** 搜索关键词 */
  search?: string;
  /** 开始日期 */
  start_date?: string;
  /** 结束日期 */
  end_date?: string;
  /** 排序字段 */
  sort_by?: string;
  /** 排序方向 */
  sort_order?: string;
};

export type FileUploadSession = {
  /** 文件分类 */
  category?: string;
  /** 切片大小 */
  chunk_size?: number;
  created_at?: string;
  /** 会话过期时间 */
  expires_at?: string;
  /** 文件扩展名 */
  extension?: string;
  /** 文件哈希值 */
  file_hash?: string;
  /** 原始文件名 */
  filename?: string;
  id?: number;
  /** MIME类型 */
  mime_type?: string;
  /** 会话ID */
  session_id?: string;
  /** 会话状态：uploading, completed, failed, expired */
  status?: string;
  /** 文件标签（JSON格式） */
  tags?: string;
  /** 总切片数 */
  total_chunks?: number;
  /** 文件总大小 */
  total_size?: number;
  updated_at?: string;
  /** 已上传切片数 */
  uploaded_chunks?: number;
  /** 上传者名称 */
  uploader?: string;
  /** 上传者ID */
  uploader_id?: number;
};

export type GetAnswerSheetResponse = {
  /** 总分 */
  all_score?: number;
  /** 答题卡图片路径 */
  answer_sheet_images?: string;
  /** 附加题得分 */
  bonus_score?: number;
  /** 班级 */
  class?: string;
  /** 班级排名 */
  class_rank?: number;
  /** 年级排名 */
  grade_rank?: number;
  /** 客观题答案列表 */
  objective_answer?: ObjectiveAnswer[];
  /** 客观题得分 */
  objective_score?: number;
  /** 学生考号 */
  student_exam_number?: string;
  /** 学生姓名 */
  student_name?: string;
  /** 主观题答案列表 */
  subjective_answer?: SubjectiveAnswer[];
  /** 主观题得分 */
  subjective_score?: number;
};

export type GetClassStudentScoreListRequest = {
  /** 查询班级 */
  class_key: number;
  /** 考试ID */
  exam_id: number;
  /** 查询年级 */
  grade_key: number;
  /** 页码 */
  page: number;
  /** 每页大小 */
  page_size: number;
  /** 考试科目ID */
  subject_id?: number;
  /** 取前N名：正数表示进步最大的前N名，负数表示退步最大的前N名，0或不传表示获取全班所有学生 */
  top_n?: number;
};

export type GetClassStudentScoreListResponse = {
  /** 学生列表 */
  list?: ClassStudentScoreInfo[];
  /** 页码 */
  page?: number;
  /** 每页大小 */
  page_size?: number;
  /** 总记录数 */
  total?: number;
};

export type GetHistoryScoresResponse = {
  /** 考试科目ID */
  exam_subject_id?: number;
  /** 题目ID */
  question_id?: number;
  /** 学校ID */
  school_id?: number;
  /** 历史评分列表（从小到大排序） */
  scores?: number[];
  /** 老师ID */
  teacher_id?: number;
};

export type GetKeyStudentRequest = {
  /** 查询班级 */
  class_key: number;
  /** 显著类型：up-上升，down-下降，key-重点学生，wave-成绩波动                                                                // 是否隐藏缺考，默认false */
  emphasis_type: 'up' | 'down' | 'key' | 'wave';
  /** 考试ID */
  exam_id: number;
  /** 查询年级 */
  grade_key: number;
  /** 页码 */
  page: number;
  /** 每页大小 */
  page_size: number;
  /** 考试科目ID */
  subject_id?: number;
};

export type GetKeyStudentResponse = {
  /** 学生列表 */
  list?: KeyStudentInfo[];
  /** 页码 */
  page?: number;
  /** 每页大小 */
  page_size?: number;
  /** 总记录数 */
  total?: number;
};

export type GetMyProfileResponse = {
  /** 创建时间 */
  created_time?: string;
  /** 邮箱 */
  email?: string;
  /** 是否管理员 */
  is_admin?: boolean;
  /** 是否启用 */
  is_enable?: number;
  /** 昵称 */
  nickname?: string;
  /** 手机号 */
  phone?: string;
  /** 用户ID */
  user_id?: string;
  /** 用户名 */
  username?: string;
};

export type GetPersonalReportRequest = {
  /** 班级KEY */
  class_key: number;
  /** 考试ID */
  exam_id: number;
  /** 年级KEY */
  grade_key: number;
  /** 学号 */
  student_number: string;
  /** 科目ID */
  subject_id?: number;
};

export type GetPersonalReportResponse = {
  /** 优劣势分析 */
  advantage_analysis?: AdvantageAnalysis;
  /** 均分对比分析 */
  average_comparison_analysis?: AverageComparisonAnalysis;
  /** 难度分析 */
  difficulty_analysis?: DifficultyAnalysis[];
  /** 考试总结 */
  exam_summary?: ExamSummary;
  /** 学习情况分析 */
  learning_situation_analysis?: LearningSituationAnalysis;
  /** 成绩趋势 */
  score_trend?: ScoreTrendItem[];
};

export type GetQuestionDetailRequest = {
  /** 考试ID */
  exam_id: number;
  /** 年级参数 */
  grade_key: number;
  /** 查询班级 */
  class_key: number;
  /** 考试科目ID */
  subject_id: number;
};

export type GetQuestionDetailResponse = {
  /** 题目统计列表 */
  question_detail_list?: QuestionStatInfo[];
};

export type GetQuestionMarkingQualityResponse = {
  /** 所有学校下每个老师的平均分数 */
  average_score?: number;
  /** 评价方法 */
  evaluate_method?: string;
  /** 终评老师列表 */
  final_teachers?: QuestionMarkingQualityTeacher[];
  /** 初评老师列表 */
  initial_teachers?: QuestionMarkingQualityTeacher[];
  /** 最高分 */
  max_score?: number;
  /** 最低分 */
  min_score?: number;
  /** 题目ID */
  question_id?: number;
  /** 大题号 */
  question_major?: string;
  /** 小题号 */
  question_minor?: string;
  /** 所有学校下所有老师的总分数 */
  total_score?: number;
};

export type GetQuestionStatRequest = {
  /** 年级参数 */
  grade_key: number;
  /** 查询班级 */
  class_key: number;
  /** 页码 */
  page: number;
  /** 考试科目ID */
  subject_id: number;
  /** 每页大小 */
  page_size: number;
};

export type GetQuestionStatResponse = {
  /** 题目统计列表 */
  exam_question_list?: ExamQuestionStat[];
};

export type GetRecentExamStatsRequest = {
  /** 查询班级 */
  class_key: number;
  /** 考试ID */
  exam_id: number;
  /** 优秀分数线 */
  excellent_scoring_rate?: number;
  /** 良好分数线 */
  good_scoring_rate?: number;
  /** 查询年级 */
  grade_key: number;
  /** 及格分数线 */
  pass_scoring_rate?: number;
  /** 考试科目ID */
  subject_id?: number;
  /** 查看年级前N名人数 */
  top_n: number;
};

export type GetRecentExamStatsResponse = {
  /** 平均分排名 */
  average_score_rank?: number;
  /** 班级平均分 */
  class_average_score?: number;
  /** 班级数量 */
  class_count?: number;
  /** 班级最高分 */
  class_highest_score?: number;
  /** 班级最低分 */
  class_lowest_score?: number;
  /** 班级总人数 */
  class_total_count?: number;
  /** 班级优秀率 */
  excellent_class_scoring_rate?: number;
  /** 年级优秀率 */
  excellent_grade_scoring_rate?: number;
  /** 总分 */
  full_score?: number;
  /** 班级良好率 */
  good_class_scoring_rate?: number;
  /** 年级良好率 */
  good_grade_scoring_rate?: number;
  /** 年级平均分 */
  grade_average_score?: number;
  /** 年级前N名人数 */
  grade_top_n?: number;
  /** 年级总人数 */
  grade_total_count?: number;
  /** 班级及格率 */
  pass_class_scoring_rate?: number;
  /** 年级及格率 */
  pass_grade_scoring_rate?: number;
};

export type GetScoreDistributionResponse = {
  /** 考试科目ID */
  exam_subject_id?: number;
  /** 学校ID（可选） */
  school_id?: number;
  /** 分数分布列表 */
  score_items?: ScoreDistributionItem[];
  /** 教师ID（可选） */
  teacher_id?: number;
  /** 总阅卷数量 */
  total_count?: number;
};

export type GetScoreSheetRequest = {
  /** 查询班级 */
  class_key: number;
  /** 考试ID */
  exam_id: number;
  /** 查询年级 */
  grade_key: number;
  /** 页码 */
  page: number;
  /** 每页大小 */
  page_size: number;
  /** 考试科目ID */
  subject_id?: number;
};

export type GetScoreSheetResponse = {
  /** 成绩单列表 */
  list?: ScoreSheetInfo[];
  /** 页码 */
  page?: number;
  /** 每页大小 */
  page_size?: number;
  /** 总记录数 */
  total?: number;
};

export type GetStudentAnswerSheetResponse = {
  /** 总分得分 */
  all_score?: number;
  /** 附加题得分 */
  bonus_score?: number;
  /** 满分 */
  full_score?: number;
  /** 题目详情列表 */
  items?: StudentAnswerSheetItem[];
  /** 客观题得分 */
  objective_score?: number;
  /** 学生考号 */
  student_exam_number?: string;
  /** 学生姓名 */
  student_name?: string;
  /** 主观题得分 */
  subjective_score?: number;
};

export type GetStudentExamHistoryRequest = {
  /** 页码 */
  page: number;
  /** 每页大小 */
  page_size: number;
  /** 学生学号 */
  student_number: string;
  /** 考试科目ID */
  subject_id?: number;
};

export type GetStudentExamHistoryResponse = {
  /** 考试列表 */
  list?: StudentExamHistoryInfo[];
  /** 页码 */
  page?: number;
  /** 每页大小 */
  page_size?: number;
  /** 总记录数 */
  total?: number;
};

export type GetStudentListRequest = {
  /** 班级ID */
  class_id: number;
  /** 考试科目ID */
  exam_subject_id: number;
  /** 年级ID */
  grade_id: number;
  /** 关键词 */
  keyword?: string;
};

export type GetStudentListResponse = {
  /** 已关注的学生列表 */
  attentioned_students?: StudentInfo[];
  /** 其他学生列表 */
  other_students?: StudentInfo[];
};

export type GetStudentMarkingQualityResponse = {
  /** 考试科目ID */
  exam_subject_id?: number;
  /** 学生列表 */
  students?: StudentMarkingQualityItem[];
  /** 总数量 */
  total_count?: number;
};

export type GetTrendRequest = {
  /** 年级参数 */
  grade_key: number;
  /** 查询班级 */
  class_key: number;
  /** 对比的年级 */
  class_key_compare: number;
  /** 考试科目ID */
  subject_id?: number;
  /** 查看年级前N名人数 */
  top_n: number;
  /** 查询最近几次考试的成绩 */
  exam_number?: number;
};

export type GetTrendResponse = {
  /** 走势列表 */
  trend_list?: TrendInfo[];
};

export type GradeAnalysis = {
  /** 科目分析列表 */
  subjects?: SubjectAnalysisItem[];
};

export type GroupAnalysisResult = {
  /** 平均分（可选指标） */
  average?: number;
  /** 难度和区分度相关指标待后续实现 */
  difficulty?: number;
  /** 难度描述（可选指标） */
  difficulty_desc?: string;
  /** 区分度（可选指标） */
  discrimination?: number;
  /** 区分度描述（可选指标） */
  discrimination_desc?: string;
  /** 分组标识（班级名/学校名） */
  group_key?: string;
  /** 分组显示名称 */
  group_name?: string;
  /** 标准差（可选指标） */
  std_dev?: number;
  /** 学生数量 */
  student_count?: number;
};

export type GroupQuestionResult = {
  /** 平均分（可选指标） */
  average?: number;
  /** 难度（可选指标） */
  difficulty?: number;
  /** 难度描述（可选指标） */
  difficulty_desc?: string;
  /** 区分度（可选指标） */
  discrimination?: number;
  /** 区分度描述（可选指标） */
  discrimination_desc?: string;
  /** 满分人数（可选指标） */
  full_score_count?: number;
  /** 满分人数占比（可选指标） */
  full_score_rate?: number;
  /** 分组标识 */
  group_key?: string;
  /** 标准差（可选指标） */
  std_dev?: number;
  /** 零分人数（可选指标） */
  zero_score_count?: number;
  /** 零分人数占比（可选指标） */
  zero_score_rate?: number;
};

export type KeyStudentInfo = {
  /** 总得分 */
  all_score?: number;
  /** 班级排名变化方向 */
  class_diff_direction?: string;
  /** 班级排名变化 */
  class_diff_rank?: number;
  /** 班级排名 */
  class_rank?: number;
  /** 总分 */
  full_score?: number;
  /** 年级排名变化方向 */
  grade_diff_direction?: string;
  /** 年级排名变化 */
  grade_diff_rank?: number;
  /** 年级排名 */
  grade_rank?: number;
  /** 学生考试号 */
  student_exam_number?: string;
  /** 学生姓名 */
  student_name?: string;
  /** 学生学号 */
  student_number?: string;
  /** 是否关注 */
  is_attention?: boolean;
};

export type LearningSituationAnalysis = {
  /** 总分 */
  all_score?: number;
  /** 班级总人数 */
  class_member_count?: number;
  /** 班级排名 */
  class_rank?: number;
  /** 分数段数据 */
  data?: ScoreScopeData[];
  /** 年级总人数 */
  grade_member_count?: number;
  /** 年级排名 */
  grade_rank?: number;
};

export type LevelStat = {
  /** 人数 */
  count?: number;
  /** 排名 */
  rank?: number;
  /** 比例 */
  rate?: number;
};

export type LoginRequest = {
  /** 密码 */
  password: string;
  /** 用户名或手机号 */
  username_or_phone: string;
};

export type LoginResponse = {
  access_token?: string;
  expire_time?: number;
  refresh_token?: string;
  request_id?: string;
};

export type markingProgressOpenApiExportUsingGetParams = {
  /** 考试科目ID */
  exam_subject_id: number;
};

export type markingProgressQuestionUsingGetParams = {
  /** 题目ID */
  question_id: number;
};

export type MarkingProgressResponse = {
  /** 创建时间 */
  created_time?: string;
  /** 考试科目ID */
  exam_subject_id?: number;
  /** 最终进度 */
  final_progress?: ProgressDetail;
  /** 进度百分比 */
  progress_percent?: number;
  /** 题目进度详情 */
  questions?: QuestionProgressDetail[];
  /** 单人进度 */
  single_progress?: ProgressDetail;
  /** 答题卡模板ID */
  template_id?: number;
  /** 答题卡模板名称 */
  template_name?: string;
  /** 已阅卷量 */
  total_marked_num?: number;
  /** 新增进度字段 */
  total_progress?: ProgressDetail;
  /** 总题目数 */
  total_questions?: number;
  /** 总分 */
  total_score?: number;
  /** 总任务量 */
  total_task_num?: number;
  /** 更新时间 */
  updated_time?: string;
};

export type markingProgressSuspendUsingPostParams = {
  /** 暂停类型：subject-考试科目，question-题目 */
  suspend_type: string;
  /** ID：根据suspend_type不同，传递考试科目ID或题目ID */
  id: number;
};

export type markingProgressUsingGetParams = {
  /** 考试科目ID */
  exam_subject_id: number;
};

export type markingQualityCheckScoreUsingGetParams = {
  /** 题目ID（必传） */
  question_id: number;
  /** 学校ID（选填） */
  school_id?: number;
  /** 任务类型（选填） */
  task_type?: string;
  /** 教师ID（选填） */
  teacher_id?: number;
  /** 最终打分（选填） */
  score?: number;
  /** 排序字段（选填） */
  order_by?: 'time_asc' | 'time_desc' | 'score_asc' | 'score_desc';
};

export type markingQualityExportObjectiveUsingGetParams = {
  /** 考试科目ID */
  exam_subject_id: number;
};

export type markingQualityExportSubjectiveUsingGetParams = {
  /** 考试科目ID */
  exam_subject_id: number;
};

export type markingQualityExportTeacherDetailUsingGetParams = {
  /** 题目ID（必传） */
  question_id: number;
  /** 学校ID（选填） */
  school_id?: number;
  /** 任务类型（选填） */
  task_type?: string;
  /** 教师ID（必传） */
  teacher_id: number;
  /** 最终打分（选填） */
  score?: number;
  /** 排序字段（选填） */
  order_by?: 'time_asc' | 'time_desc' | 'score_asc' | 'score_desc';
};

export type markingQualityQuestionUsingGetParams = {
  /** 题目ID */
  question_id: number;
};

export type markingQualityRereadByRecordUsingPostParams = {
  /** 记录ID */
  record_id: number;
};

export type markingQualityRereadUsingPostParams = {
  /** 题目ID */
  question_id: number;
  /** 学校ID */
  school_id: number;
  /** 教师ID */
  teacher_id: number;
  /** 重阅类型 */
  reread_type: 'all' | 'score' | 'time';
  /** 指定值（time类型时为时间秒数，score类型时为逗号分隔的多个分数，如：1.5,2.0,3.5） */
  value?: number;
};

export type MarkingQualityResponse = {
  /** 客观题质量统计 */
  objective_item?: ObjectiveQualityItem;
  /** 主观题质量统计 */
  subjective_item?: SubjectiveQualityItem;
};

export type markingQualityScoreDistributionUsingGetParams = {
  /** 考试科目ID */
  exam_subject_id: number;
  /** 学校ID（选填） */
  school_id?: number;
  /** 教师ID（选填） */
  teacher_id?: number;
  /** 评价方法（选填） */
  evaluate_method?: string;
};

export type markingQualityStudentAnswerSheetUsingGetParams = {
  /** 答题卡信息ID */
  info_id: number;
};

export type markingQualityStudentQualityUsingGetParams = {
  /** 考试科目ID（必传） */
  exam_subject_id: number;
  /** 学校ID（选填） */
  school_id?: number;
  /** 班级（选填） */
  class?: string;
  /** 关键词（选填，模糊搜索学生名称或者学生考号） */
  keyword?: string;
};

export type markingQualityUpdateScoreUsingPutParams = {
  /** 扫描信息ID */
  scan_info_id: number;
  /** 题目ID */
  question_id: number;
  /** 新的评分 */
  score: number;
};

export type markingQualityUsingGetParams = {
  /** 考试科目ID */
  exam_subject_id: number;
};

export type MarkingTaskByQuestionItem = {
  /** 评价方法 */
  evaluate_method?: string;
  /** 已阅卷数量 */
  marked_quantity?: number;
  /** 未阅卷数量 */
  not_mark_quantity?: number;
  /** 题目ID */
  question_id?: number;
  /** 大题号 */
  question_major?: string;
  /** 小题号 */
  question_minor?: string;
};

export type MarkingTaskHistoryRecord = {
  /** AI识别题目类型 */
  ai_question_type?: string;
  /** 学生作答内容 */
  answer?: string;
  /** 创建人 */
  created_by?: string;
  /** 创建时间 */
  created_time?: string;
  /** 试卷方向 */
  direction?: string;
  /** 阅卷花费时长(单位:s) */
  duration?: number;
  /** 结束时间 */
  end_time?: string;
  /** 最终得分 */
  final_score?: number;
  /** 满分值 */
  full_score?: number;
  /** 半分值 */
  half_score?: number;
  /** 记录ID */
  id?: number;
  /** 图片完整路径数组 */
  image_urls?: string[];
  /** 是否标记为优秀 */
  is_excellent?: number;
  /** 是否标记为典型 */
  is_model?: number;
  /** 是否标记为问题卷 */
  is_problem?: number;
  /** 阅卷状态 */
  marking_status?: string;
  /** 页面模式 */
  page_mode?: string;
  /** 问题卷附属说明 */
  problem_addition?: string;
  /** 问题卷状态 */
  problem_status?: string;
  /** 问题卷类型 */
  problem_type?: string;
  /** 模板题目ID */
  question_id?: number;
  /** 题目相关字段 */
  question_major?: string;
  /** 小题号 */
  question_minor?: string;
  /** 题目类型 */
  question_type?: string;
  /** 备注 */
  remark?: string;
  /** 扫描答题卡信息ID */
  scan_info_id?: number;
  /** 打分 */
  score?: number;
  /** 标准答案 */
  standard_answer?: string;
  /** 开始时间 */
  start_time?: string;
  /** 任务ID */
  task_id?: number;
  /** 更新人 */
  updated_by?: string;
  /** 更新时间 */
  updated_time?: string;
};

export type MarkingTaskHistoryResponse = {
  /** 历史记录列表 */
  records?: MarkingTaskHistoryRecord[];
  /** 任务ID */
  task_id?: number;
  /** 总记录数 */
  total_count?: number;
};

export type MarkingTaskRecordResponse = {
  /** 创建人 */
  created_by?: string;
  /** 创建时间 */
  created_time?: string;
  /** 阅卷话费时长(单位:s) */
  duration?: number;
  /** 结束时间 */
  end_time?: string;
  /** 记录ID */
  id?: number;
  /** 是否标记为优秀 */
  is_excellent?: number;
  /** 是否标记为典型 */
  is_model?: number;
  /** 是否标记为问题卷 */
  is_problem?: number;
  /** 页面模式 */
  page_mode?: string;
  /** 模板题目ID */
  question_id?: number;
  /** 备注 */
  remark?: string;
  /** 扫描答题卡信息ID */
  scan_info_id?: number;
  /** 打分 */
  score?: number;
  /** 开始时间 */
  start_time?: string;
  /** 任务ID */
  task_id?: number;
};

export type MarkingTasksByQuestionResponse = {
  /** 多评任务列表 */
  double_tasks?: MarkingTaskByQuestionItem[];
  /** 单评任务列表 */
  single_tasks?: MarkingTaskByQuestionItem[];
};

export type markingTasksByQuestionUsingGetParams = {
  /** 考试ID */
  exam_id: number;
  /** 考试科目ID */
  exam_subject_id: number;
};

export type markingTasksHistoryScoresUsingGetParams = {
  /** 题目ID */
  question_id: number;
};

export type markingTasksQuestionQuestionIdTaskTaskIdAverageScoreComparisonUsingGetParams =
  {
    /** 题目ID */
    question_id: number;
    /** 任务ID */
    task_id: number;
  };

export type markingTasksTaskIdHistoryUsingGetParams = {
  /** 任务ID */
  task_id: number;
};

export type markingTasksTaskIdQuestionsUsingGetParams = {
  /** 任务ID */
  task_id: number;
  /** 一次性返回的题目数量 */
  count: number;
};

export type markingTasksTaskIdQuestionUsingGetParams = {
  /** 任务ID */
  task_id: number;
};

export type markingTasksTaskIdRemarkUsingPostParams = {
  /** 任务ID */
  task_id: number;
};

export type markingTasksTaskIdStartUsingPostParams = {
  /** 任务ID */
  task_id: number;
};

export type markingTasksUsingGetParams = {
  /** 页码，默认1 */
  page?: number;
  /** 每页数量，默认10，最大100 */
  page_size?: number;
  /** 学年，如：2024-2025 */
  academic_year?: string;
};

export type MyChangePasswordRequest = {
  /** 确认新密码 */
  confirm_password: string;
  /** 新密码 */
  new_password: string;
  /** 原密码 */
  old_password: string;
};

export type MyChangePasswordResponse = {
  /** 响应消息 */
  message?: string;
  /** 是否成功 */
  success?: boolean;
};

export type ObjectiveAnswer = {
  /** 最终得分 */
  final_score?: number;
  /** 满分 */
  full_score?: number;
  /** 题目ID */
  question_id?: number;
};

export type ObjectiveQualityItem = {
  /** 平均分 */
  average_score?: number;
  /** 总分 */
  total_score?: number;
  /** 按题目类型分组的统计 */
  type_items?: ObjectiveTypeQualityItem[];
};

export type ObjectiveQuestionItem = {
  /** 全对数量 */
  all_right_num?: number;
  /** 全对百分比 */
  all_right_percent?: number;
  /** 总数量 */
  all_total_num?: number;
  /** 半对数量（仅multiple类型） */
  half_right_num?: number;
  /** 半对百分比（仅multiple类型） */
  half_right_percent?: number;
  /** 题目ID */
  question_id?: number;
  /** 大题号 */
  question_major?: string;
  /** 小题号 */
  question_minor?: string;
};

export type ObjectiveTypeQualityItem = {
  /** 平均分 */
  average_score?: number;
  /** 题目统计列表 */
  question_items?: ObjectiveQuestionItem[];
  /** 题目类型 */
  question_type?: string;
  /** 总分 */
  total_score?: number;
};

export type ProgressDetail = {
  /** 已阅卷数量 */
  marked_quantity?: number;
  /** 未合分数量 */
  unmerged_quantity?: number;
};

export enum Query_modeEnum {
  'class' = 'class',
  'school' = 'school',
}

export type IQuery_modeEnum = keyof typeof Query_modeEnum;

export enum Query_modeEnum2 {
  'class' = 'class',
  'school' = 'school',
}

export type IQuery_modeEnum2 = keyof typeof Query_modeEnum2;

export enum Query_modeEnum3 {
  'class' = 'class',
  'school' = 'school',
}

export type IQuery_modeEnum3 = keyof typeof Query_modeEnum3;

export enum Query_modeEnum4 {
  'class' = 'class',
  'school' = 'school',
}

export type IQuery_modeEnum4 = keyof typeof Query_modeEnum4;

export enum Query_modeEnum5 {
  'class' = 'class',
  'school' = 'school',
}

export type IQuery_modeEnum5 = keyof typeof Query_modeEnum5;

export enum Query_modeEnum6 {
  'class' = 'class',
  'school' = 'school',
}

export type IQuery_modeEnum6 = keyof typeof Query_modeEnum6;

export enum Query_modeEnum7 {
  'school' = 'school',
  'class' = 'class',
}

export type IQuery_modeEnum7 = keyof typeof Query_modeEnum7;

export enum Query_modeEnum8 {
  'class' = 'class',
  'school' = 'school',
}

export type IQuery_modeEnum8 = keyof typeof Query_modeEnum8;

export type QuestionAnalysisExcelExportRequest = {
  /** 分析类型 */
  analysis_type: 'question' | 'major_question' | 'objective_subjective';
  /** 班级字典key列表，当query_mode=class时必填 */
  class_ids?: string[];
  /** 是否启用对比功能，true时返回各分组的对比数据 */
  enable_comparison?: boolean;
  /** 考试ID，必填 */
  exam_id: number;
  /** 文件名，可选 */
  file_name?: string;
  /** 指标列表 */
  indicators: string[];
  /** 查询模式：class(按班级), school(按学校，用于联考) */
  query_mode: 'class' | 'school';
  /** 题目关键词筛选（可选） */
  question_keyword?: string;
  /** 角色标识，用于权限过滤 */
  role_key?: number;
  /** 学校ID列表，当query_mode=school时必填 */
  school_ids?: number[];
  /** 学科ID，必填，只接受单科 */
  subject_id: number;
  /** 教师权限参数（可选） */
  teacher_id?: number;
};

export type QuestionAnalysisRequest = {
  /** 分析类型 */
  analysis_type: 'question' | 'major_question' | 'objective_subjective';
  /** 班级字典key列表，当query_mode=class时必填 */
  class_ids?: string[];
  /** 是否启用对比功能，true时返回各分组的对比数据 */
  enable_comparison?: boolean;
  /** 考试ID，必填 */
  exam_id: number;
  /** 指标列表 */
  indicators: string[];
  /** 查询模式：class(按班级), school(按学校，用于联考) */
  query_mode: 'class' | 'school';
  /** 题目关键词筛选（可选） */
  question_keyword?: string;
  /** 角色标识，用于权限过滤 */
  role_key?: number;
  /** 学校ID列表，当query_mode=school时必填 */
  school_ids?: number[];
  /** 学科ID，必填，只接受单科 */
  subject_id: number;
  /** 教师权限参数（可选） */
  teacher_id?: number;
};

export type QuestionAnalysisResponse = {
  /** 分析类型 */
  analysis_type?: string;
  /** 是否启用对比 */
  enable_comparison?: boolean;
  /** 各组分析结果（仅当enable_comparison=true时返回） */
  groups?: GroupAnalysisResult[];
  /** 题目分析结果 */
  questions?: QuestionAnalysisResult[];
  /** 参与统计的学生总数 */
  student_count?: number;
};

export type QuestionAnalysisResult = {
  /** 整体统计（所有筛选范围内的学生的统计） */
  average?: number;
  /** 正确答案（可选指标） */
  correct_answer?: string;
  /** 难度（可选指标） */
  difficulty?: number;
  /** 难度描述（可选指标） */
  difficulty_desc?: string;
  /** 区分度（可选指标） */
  discrimination?: number;
  /** 区分度描述（可选指标） */
  discrimination_desc?: string;
  /** 满分人数（可选指标） */
  full_score_count?: number;
  /** 满分人数占比（可选指标） */
  full_score_rate?: number;
  /** 分组对比数据（仅当enable_comparison=true时返回） */
  group_results?: GroupQuestionResult[];
  /** 满分 */
  max_score?: number;
  /** 题目标识 */
  question_key?: string;
  /** 题目名称 */
  question_name?: string;
  /** 题目类型：客观题/主观题 */
  question_type?: string;
  /** 标准差（可选指标） */
  std_dev?: number;
  /** 零分人数（可选指标） */
  zero_score_count?: number;
  /** 零分人数占比（可选指标） */
  zero_score_rate?: number;
};

export type QuestionAverageScoreComparisonResponse = {
  /** 所有老师平均分 */
  all_teachers_score?: QuestionAverageScoreResponse;
  /** 题目ID */
  question_id?: number;
  /** 题号主号 */
  question_major?: string;
  /** 题号次号 */
  question_minor?: string;
  /** 特定老师平均分 */
  teacher_score?: TeacherQuestionAverageScoreResponse;
};

export type QuestionAverageScoreResponse = {
  /** 平均分 */
  average_score?: number;
  /** 题目ID */
  question_id?: number;
  /** 题号主号 */
  question_major?: string;
  /** 题号次号 */
  question_minor?: string;
  /** 已打分记录数 */
  scored_count?: number;
  /** 总记录数 */
  total_count?: number;
};

export type QuestionDetail = {
  /** 作答显示格式：作答/答案 */
  answer_display?: string;
  /** 正确答案 */
  correct_answer?: string;
  /** 满分 */
  max_score?: number;
  /** 题目ID */
  question_id?: number;
  /** 题目名称，如：客|一.1, 主|2.2 */
  question_name?: string;
  /** 题目顺序 */
  question_order?: number;
  /** 题目类型：objective(客观题), subjective(主观题) */
  question_type?: string;
  /** 得分 */
  score?: number;
  /** 得分显示格式：得分/满分 */
  score_display?: string;
  /** 学生作答 */
  student_answer?: string;
};

export type QuestionExcelExportRequest = {
  /** 班级字典key列表，当query_mode=class时必填 */
  class_ids?: string[];
  /** 考试ID，必填 */
  exam_id: number;
  /** 指标列表 */
  indicators: string[];
  /** 页码，默认1 */
  page?: number;
  /** 每页数量，默认50 */
  page_size?: number;
  /** 查询模式：class(按班级), school(按学校，用于联考) */
  query_mode: 'class' | 'school';
  /** 角色标识，用于权限过滤 */
  role_key?: number;
  /** 学校ID列表，当query_mode=school时必填 */
  school_ids?: number[];
  /** 搜索关键词（支持学生姓名、学号、考号、系统号搜索） */
  search_keyword?: string;
  /** 学科ID，必填 */
  subject_id: number;
  /** 教师权限参数（可选） */
  teacher_id?: number;
};

export type QuestionMarkingProgressResponse = {
  /** 分配方式 */
  allocation_method?: string;
  /** 评选方式 */
  evaluate_method?: string;
  /** 已阅卷数量 */
  marked_quantity?: number;
  /** 进度列表 */
  progress_list?: TaskTypeProgressDetail[];
  /** 题目ID */
  question_id?: number;
  /** 总数量 */
  total_quantity?: number;
};

export type QuestionMarkingQualityTeacher = {
  /** 平均分 */
  average_score?: number;
  /** 平均用时（秒） */
  average_time?: number;
  /** 阅卷量 */
  marking_count?: number;
  /** 老师手机号 */
  phone?: string;
  /** 问题卷数量 */
  problem_num?: number;
  /** 标准差 */
  standard_dev?: number;
  /** 老师ID */
  teacher_id?: number;
  /** 老师名称 */
  teacher_name?: string;
};

export type QuestionProgressDetail = {
  /** 平均分数 */
  average_score?: number;
  /** 评选方式 */
  evaluate_method?: string;
  /** 满分 */
  full_score?: number;
  /** 阅卷状态 */
  marking_status?: string;
  /** 进度百分比 */
  progress_percent?: number;
  /** 题目ID */
  question_id?: number;
  /** 大题号 */
  question_major?: string;
  /** 小题号 */
  question_minor?: string;
  /** 已阅卷量 */
  task_marked_num?: number;
  /** 总任务量 */
  task_total_num?: number;
};

export type QuestionRankingRequest = {
  /** 班级字典key列表，当query_mode=class时必填 */
  class_ids?: string[];
  /** 考试ID，必填 */
  exam_id: number;
  /** 指标列表 */
  indicators: string[];
  /** 页码，默认1 */
  page?: number;
  /** 每页数量，默认50 */
  page_size?: number;
  /** 查询模式：class(按班级), school(按学校，用于联考) */
  query_mode: 'class' | 'school';
  /** 角色标识，用于权限过滤 */
  role_key?: number;
  /** 学校ID列表，当query_mode=school时必填 */
  school_ids?: number[];
  /** 搜索关键词（支持学生姓名、学号、考号、系统号搜索） */
  search_keyword?: string;
  /** 学科ID，必填 */
  subject_id: number;
  /** 教师权限参数（可选） */
  teacher_id?: number;
};

export type QuestionRankingResponse = {
  /** 学生成绩列表 */
  list?: StudentQuestionScoreInfo[];
  /** 当前页码 */
  page?: number;
  /** 每页数量 */
  page_size?: number;
  /** 总学生数 */
  total?: number;
};

export type QuestionStatInfo = {
  /** 题目ID */
  question_id?: number;
  /** 题目名称 */
  question_name?: string;
  /** 题目类型 */
  question_type?: string;
  /** 题目满分 */
  question_full_score?: unknown;
  /** 题目总个数 */
  question_count?: number;
  /** 班级平均分 */
  class_avg_score?: number;
  /** 年级平均分 */
  grade_avg_score?: number;
  /** 班级得分率 */
  class_score_rate?: number;
  /** 年级得分率 */
  grade_score_rate?: number;
  /** 得分率差 */
  rate_point_diff?: number;
  /** 学生得分统计列表 */
  student_score_list?: StudentScoreStat[];
  /** 题目排序权重 */
  order?: number;
};

export type RankStatDetail = {
  /** 该名次段的学生数 */
  count?: number;
  /** 结束名次 */
  end?: number;
  /** 名次段名称 */
  name?: string;
  /** 占比（该名次段学生数/总学生数） */
  rate?: number;
  /** 起始名次 */
  start?: number;
};

export type RankStatisticsItem = {
  /** 学校ID或班级ID */
  id?: number;
  /** 学校名或班级名 */
  name?: string;
  /** 各名次段统计 */
  rank_stats?: RankStatDetail[];
  /** 总学生人数 */
  student_count?: number;
};

export type RankStatisticsRequest = {
  /** 考试ID，必填 */
  exam_id: number;
  /** 科目ID */
  subject_id?: number;
  /** 查询模式：school/class */
  query_mode?: 'school' | 'class';
  /** 学校ID列表（school模式时必填） */
  school_ids?: number[];
  /** 班级ID列表（class模式时必填） */
  class_ids: number[];
  /** 名次段列表，如[{"name":"前10名","start":1,"end":10}] */
  rank_ranges: {
    /** 名次段名称 */
    name?: string;
    /** 起始名次 */
    start?: number;
    /** 结束名次 */
    end?: number;
  }[];
  /** 统计模式：segmented(分段)/cumulative(累计)，默认cumulative */
  statistics_mode?: 'segmented' | 'cumulative';
  /** 教师ID，用于权限过滤 */
  teacher_id?: number;
  /** 角色标识，用于权限过滤 */
  role_key?: number;
};

export type RankStatisticsResponse = {
  data?: RankStatisticsItem[];
  exam_id?: number;
  query_mode?: string;
  subject_id?: number;
};

export type RefreshTokenRequest = {
  refresh_token: string;
};

export type RereadByRecordIDResponse = {
  /** 删除时间 */
  deleted_at?: string;
  /** 响应消息 */
  message?: string;
  /** 记录ID */
  record_id?: number;
  /** 是否成功 */
  success?: boolean;
  /** 任务ID */
  task_id?: number;
};

export type RereadMarkingResponse = {
  /** 删除的记录数量 */
  deleted_count?: number;
  /** 响应消息 */
  message?: string;
  /** 是否成功 */
  success?: boolean;
  /** 调度任务ID（仅all类型时返回） */
  task_id?: string;
};

export type ResetPasswordRequest = {
  /** 确认密码 */
  confirm_password: string;
  /** 新密码 */
  new_password: string;
  /** 手机号 */
  phone: string;
};

export type ResetPasswordResponse = {
  /** 响应消息 */
  message?: string;
  /** 请求ID */
  request_id?: string;
  /** 重置结果 */
  success?: boolean;
};

export type Response = {
  code?: number;
  data?: unknown;
  message?: string;
};

export type School = {
  /** 学校地址 */
  address?: string;
  /** 学校编码 */
  code?: string;
  /** 创建人ID */
  created_by?: string;
  /** 创建时间 */
  created_time?: string;
  /** 学校ID */
  id?: number;
  /** 是否删除 */
  is_deleted?: number;
  /** 是否启用 */
  is_enable?: number;
  /** 学校名称 */
  name?: string;
  /** 联系电话 */
  phone?: string;
  /** 修改人ID */
  updated_by?: string;
  /** 修改时间 */
  updated_time?: string;
};

export type SchoolExportRequest = {
  /** 考试ID，必填 */
  exam_id: number;
  /** 文件名前缀，可选 */
  file_name?: string;
  /** 角色标识，用于权限过滤 */
  role_key?: number;
  /** 学校ID列表，必填 */
  school_ids: number[];
  /** 教师权限参数（可选） */
  teacher_id?: number;
};

export type SchoolProgressDetail = {
  /** 阅卷列表 */
  marking_list?: TeacherMarkingDetail[];
  /** 学校ID */
  school_id?: number;
  /** 学校名称 */
  school_name?: string;
};

export type ScoreAnalysisExcelExportRequest = {
  /** 班级字典key列表（class模式时必填） */
  class_ids?: string[];
  /** 考试ID */
  exam_id: number;
  /** 文件名，可选 */
  file_name?: string;
  filters?: {
    /** 是否排除缺考X门科目的学生（仅总分时有效） */
    exclude_missing_subjects?: boolean;
    /** 是否包含0分学生 */
    include_zero_score?: boolean;
    /** 缺考门数限制，默认1门 */
    missing_subject_limit?: number;
  };
  /** 需要的指标列表 */
  indicators: string[];
  /** 查询模式：school/class */
  query_mode: string;
  /** 角色标识，用于权限过滤 */
  role_key?: number;
  /** 学校ID列表（school模式时必填） */
  school_ids?: number[];
  /** 科目ID，0表示总分 */
  subject_id?: number;
  /** 教师权限参数（可选） */
  teacher_id?: number;
};

export type ScoreAnalysisItem = {
  /** 超均率 */
  above_avg_rate?: number;
  /** 基础统计指标 */
  average?: number;
  /** 比率指标 */
  average_score_rate?: number;
  /** 综合率 */
  comprehensive?: number;
  /** 离均率 */
  deviation_rate?: number;
  /** 报考人数 */
  exam_count?: number;
  /** 优秀 */
  excellent?: LevelStat;
  /** 良好 */
  good?: LevelStat;
  /** 等级统计 */
  high_score?: LevelStat;
  /** 低分 */
  low_score?: LevelStat;
  /** 最高分 */
  max_score?: number;
  /** 中位数 */
  median?: number;
  /** 最低分 */
  min_score?: number;
  /** 众数 */
  mode?: number;
  /** 学校名或班级名 */
  name?: string;
  /** 及格率 */
  pass_rate?: number;
  /** 及格 */
  qualified?: LevelStat;
  /** 排名 */
  rank?: number;
  /** 标准分 */
  standard_score?: number;
  /** 标准差 */
  std_dev?: number;
  /** 学生人数 */
  student_count?: number;
  /** 教学相关（仅班级维度） */
  teacher?: string;
  /** 比均率 */
  vs_avg_rate?: number;
};

export type ScoreAnalysisRequest = {
  /** 班级字典key列表（class模式时必填） */
  class_ids?: string[];
  /** 考试ID */
  exam_id: number;
  filters?: {
    /** 是否排除缺考X门科目的学生（仅总分时有效） */
    exclude_missing_subjects?: boolean;
    /** 是否包含0分学生 */
    include_zero_score?: boolean;
    /** 缺考门数限制，默认1门 */
    missing_subject_limit?: number;
  };
  /** 需要的指标列表 */
  indicators: string[];
  /** 查询模式：school/class */
  query_mode: string;
  /** 角色标识，用于权限过滤 */
  role_key?: number;
  /** 学校ID列表（school模式时必填） */
  school_ids?: number[];
  /** 科目ID，0表示总分 */
  subject_id?: number;
  /** 教师权限参数（可选） */
  teacher_id?: number;
};

export type ScoreAnalysisRequest2 = {
  /** 班级字典key列表（class模式时必填） */
  class_key?: string;
  /** 考试ID */
  exam_id: number;
  /** 科目ID，0表示总分 */
  subject_id?: number;
};

export type ScoreAnalysisResponse = {
  data?: ScoreAnalysisItem[];
  exam_id?: number;
  query_mode?: string;
  subject_id?: number;
};

export type ScoreDetail = {
  /** 赋分（可选指标） */
  assigned_score?: number;
  /** 班级排名（可选指标） */
  class_rank?: number;
  /** 选科组合联考排名（可选指标） */
  combo_joint_exam_rank?: number;
  /** 选科组合排名指标 */
  combo_school_rank?: number;
  /** 选考方向班级排名（可选指标） */
  direction_class_rank?: number;
  /** 选考方向排名指标 */
  direction_grade_rank?: number;
  /** 选考方向联考排名（可选指标） */
  direction_joint_exam_rank?: number;
  /** 排名指标 */
  grade_rank?: number;
  /** 联考排名（可选指标） */
  joint_exam_rank?: number;
  /** 等级（可选指标） */
  level?: string;
  /** 基础指标（属于学科的指标） */
  score?: number;
  /** 科目ID（总分时为0） */
  subject_id?: number;
  /** 科目名称（总分时为"总分"） */
  subject_name?: string;
};

export type ScoreDistributionItem = {
  /** 该分数的数量 */
  count?: number;
  /** 分数 */
  score?: number;
};

export type ScoreRangeAnalysis = {
  /** 分数段结束值 */
  score_range_end?: number;
  /** 分数段起始值 */
  score_range_start?: number;
  /** 科目分析列表 */
  subjects?: SubjectAnalysisItem[];
};

export type ScoreRankingRequest = {
  /** 筛选条件（根据query_mode选择使用） */
  class_ids?: string[];
  /** 考试ID，必填 */
  exam_id: number;
  /** 学科选择： */
  include_total_score?: boolean;
  /** 指标选择 */
  indicators: string[];
  /** 分页参数 */
  page?: number;
  /** 每页数量，默认50 */
  page_size?: number;
  /** 查询模式：class(按班级), school(按学校，用于联考) */
  query_mode: 'class' | 'school';
  /** 角色标识，用于权限过滤 */
  role_key?: number;
  /** 学校ID列表，当query_mode=school时必填 */
  school_ids?: number[];
  /** 搜索参数 */
  search_keyword?: string;
  /** 考试科目ID列表，多选 */
  subject_ids?: number[];
  /** 教师权限参数（可选） */
  teacher_id?: number;
};

export type ScoreRankingResponse = {
  /** 学生成绩列表 */
  list?: StudentScoreInfo[];
  /** 当前页码 */
  page?: number;
  /** 每页数量 */
  page_size?: number;
  /** 总学生数 */
  total?: number;
};

export type ScoreScopeData = {
  /** 分数段 */
  score_scope?: string;
  /** 学生数量 */
  student_num?: number;
};

export type ScoreSheetInfo = {
  /** 总得分 */
  all_score?: number;
  /** 班级排名 */
  class_rank?: number;
  /** 总分 */
  full_score?: number;
  /** 年级排名 */
  grade_rank?: number;
  /** 成绩等级 */
  score_level?: string;
  /** 学生考试号 */
  student_exam_number?: string;
  /** 学生姓名 */
  student_name?: string;
  /** 学生学号 */
  student_number?: string;
  /** 单科成绩 */
  single_subject_score_list?: SingleSubjectScore[];
  /** 答题卡ID */
  info_id?: number;
};

export type ScoreTrendItem = {
  /** 考试日期 */
  exam_date?: string;
  /** 考试名称 */
  exam_name?: string;
  /** 单科总分数 */
  total_score?: number;
};

export type SetLevelConfigRequest = {
  config_data: UnifiedConfigData;
  config_type: string;
  exam_id: number;
  /** 要设置的科目ID列表 */
  subject_ids: number[];
};

export type SetLevelConfigResponse = {
  data?: {
    config_type?: string;
    exam_id?: number;
    subject_ids?: number[];
  };
  message?: string;
  success?: boolean;
};

export type SetProblemRecordRequest = {
  /** 问题描述 */
  description?: string;
  /** 问题类型 */
  problem_type: string;
  /** 扫描信息ID */
  scan_info_id: number;
  /** 任务ID */
  task_id: number;
};

export type SetProblemRecordResponse = {
  /** 记录ID */
  record_id?: number;
};

export type SingleSubjectScore = {
  /** 科目ID */
  subject_id?: number;
  /** 科目名称 */
  subject_name?: string;
  /** 单科成绩 */
  subject_score?: number;
  /** 答题卡ID */
  info_id?: number;
};

export enum Statistics_modeEnum {
  'segmented' = 'segmented',
  'cumulative' = 'cumulative',
}

export type IStatistics_modeEnum = keyof typeof Statistics_modeEnum;

export type StatisticsAnalysisExcelExportRequest = {
  /** 分析类型：rank/score/percentile */
  analysis_type: string;
  /** 班级字典key列表（class模式时使用） */
  class_ids?: string[];
  /** 考试ID */
  exam_id: number;
  /** 文件名，可选 */
  file_name?: string;
  /** 查询模式：school/class */
  query_mode: string;
  /** 角色标识，用于权限过滤 */
  role_key?: number;
  /** 学校ID列表（school模式时使用） */
  school_ids?: number[];
  /** 科目ID，0表示总分 */
  subject_id?: number;
  /** 教师权限参数（可选） */
  teacher_id?: number;
};

export type StatisticsAnalysisItem = {
  /** 学校ID或班级ID */
  id?: number;
  /** 学校名或班级名 */
  name?: string;
  /** 统计详情 */
  statistics?: StatisticsDetailItem[];
  /** 总学生人数 */
  student_count?: number;
};

export type StatisticsAnalysisRequest = {
  /** 分析类型：rank/score/percentile */
  analysis_type: string;
  /** 班级字典key列表（class模式时使用） */
  class_ids?: string[];
  /** 考试ID */
  exam_id: number;
  /** 查询模式：school/class */
  query_mode: string;
  /** 角色标识，用于权限过滤 */
  role_key?: number;
  /** 学校ID列表（school模式时使用） */
  school_ids?: number[];
  /** 科目ID，0表示总分 */
  subject_id?: number;
  /** 教师权限参数（可选） */
  teacher_id?: number;
};

export type StatisticsAnalysisResponse = {
  analysis_type?: string;
  data?: StatisticsAnalysisItem[];
  exam_id?: number;
  query_mode?: string;
  subject_id?: number;
};

export type StatisticsDetailItem = {
  /** 学生人数 */
  count?: number;
  /** 结束百分比 */
  end_percent?: number;
  /** 结束名次 */
  end_rank?: number;
  /** 统计项名称（如"前10名"/"≥500分"/"前0%-10%"） */
  name?: string;
  /** 占比 */
  rate?: number;
  /** 分数区间（如"116-129"） */
  score_range?: string;
  /** 比例段统计专用 */
  start_percent?: number;
  /** 名次统计专用 */
  start_rank?: number;
  /** 分数段统计专用 */
  threshold?: number;
};

export type StudentAnswerSheetItem = {
  /** 切图路径 */
  away_view_url?: string;
  /** 满分 */
  full_score?: number;
  /** 是否标记为优秀 */
  is_excellent?: boolean;
  /** 是否标记为典型 */
  is_model?: boolean;
  /** 是否标记为问题卷 */
  is_problem?: boolean;
  /** 问题卷附属说明 */
  problem_addition?: string;
  /** 问题卷状态 */
  problem_status?: string;
  /** 问题卷类型 */
  problem_type?: string;
  /** 题目ID */
  question_id?: number;
  /** 备注 */
  remark?: string;
  /** 得分 */
  score?: number;
};

export type StudentExamHistoryInfo = {
  /** 总得分 */
  all_score?: number;
  /** 班级排名 */
  class_rank?: number;
  /** 考试日期 */
  exam_date?: string;
  /** 考试ID */
  exam_id?: number;
  /** 考试名称 */
  exam_name?: string;
  /** 总分 */
  full_score?: number;
  /** 年级排名 */
  grade_rank?: number;
  /** 科目名称 */
  subject_name?: string;
};

export type StudentInfo = {
  /** 班级排名变化 */
  class_diff_rank?: number;
  /** 班级排名 */
  class_rank?: number;
  /** 总分 */
  full_score?: number;
  /** 答题卡信息ID */
  info_id?: number;
  /** 学生姓名 */
  student_name?: string;
  /** 学生学号 */
  student_number?: string;
};

export type StudentMarkingQualityItem = {
  /** 总分得分 */
  all_score?: number;
  /** 附加题得分 */
  bonus_score?: number;
  /** 班级 */
  class?: string;
  /** 满分值 */
  full_score?: number;
  /** 年级 */
  grade?: string;
  /** 信息ID */
  info_id?: number;
  /** 客观题得分 */
  objective_score?: number;
  /** 学生考号 */
  student_exam_number?: string;
  /** 学生姓名 */
  student_name?: string;
  /** 主观题得分 */
  subjective_score?: number;
};

export type StudentMarkingQuestionResponse = {
  /** AI识别题目类型 */
  ai_question_type?: string;
  /** 学生作答内容 */
  answer?: string;
  /** 试卷方向 */
  direction?: string;
  /** 最终得分 */
  final_score?: number;
  /** 满分值 */
  full_score?: number;
  /** 半分值 */
  half_score?: number;
  /** 图片完整路径数组 */
  image_urls?: string[];
  /** 阅卷状态 */
  marking_status?: string;
  /** 大题号 */
  question_major?: string;
  /** 小题号 */
  question_minor?: string;
  /** 题目类型 */
  question_type?: string;
  /** 扫描答题卡信息ID */
  scan_info_id?: number;
  /** 标准答案 */
  standard_answer?: string;
  /** 关联模板题目ID */
  tpl_question_id?: number;
};

export type StudentMarkingQuestionResponse2 = {
  /** AI识别题目类型 */
  ai_question_type?: string;
  /** 学生作答内容 */
  answer?: string;
  /** 试卷方向 */
  direction?: string;
  /** 最终得分 */
  final_score?: number;
  /** 满分值 */
  full_score?: number;
  /** 半分值 */
  half_score?: number;
  /** 图片完整路径数组 */
  image_urls?: string[];
  /** 阅卷状态 */
  marking_status?: string;
  /** 大题号 */
  question_major?: string;
  /** 小题号 */
  question_minor?: string;
  /** 题目类型 */
  question_type?: string;
  /** 扫描答题卡信息ID */
  scan_info_id?: number;
  /** 标准答案 */
  standard_answer?: string;
  /** 关联模板题目ID */
  tpl_question_id?: number;
};

export type StudentMarkingQuestionsResponse = {
  /** 实际返回的题目数量 */
  count?: number;
  /** 题目列表 */
  questions?: StudentMarkingQuestionResponse[];
  /** 任务ID */
  task_id?: number;
};

export type StudentQuestionScoreInfo = {
  /** 班级名称 */
  class_name?: string;
  /** 班级排名 */
  class_rank?: number;
  /** 考号（可选指标） */
  exam_number?: string;
  /** 排名（可选指标） */
  grade_rank?: number;
  /** 联考排名 */
  joint_exam_rank?: number;
  /** 客观题总分 */
  objective_score?: number;
  /** 题目详情 map[questionKey]*QuestionDetail */
  question_scores?: Record<string, QuestionDetail>;
  /** 学校名称 */
  school_name?: string;
  /** 学生ID */
  student_id?: number;
  /** 学生姓名 */
  student_name?: string;
  /** 学号（可选指标） */
  student_number?: string;
  /** 主观题总分 */
  subjective_score?: number;
  /** 系统号（可选指标） */
  system_number?: string;
  /** 总分统计（可选指标） */
  total_score?: number;
};

export type StudentScoreInfo = {
  /** 语数外史/物总分相关（当需要语数外史/物排名时返回） */
  chinese_mat_eng_direction_score?: ScoreDetail;
  /** 语数外总分相关（当需要语数外排名时返回） */
  chinese_mat_eng_score?: ScoreDetail;
  /** 班级名称 */
  class_name?: string;
  /** 选考方向（可选指标） */
  elective_direction?: string;
  /** 考号（可选指标） */
  exam_number?: string;
  /** 等级统计（可选指标） */
  level_stats?: string;
  /** 学校名称 */
  school_name?: string;
  /** 学生姓名 */
  student_name?: string;
  /** 学号（可选指标） */
  student_number?: string;
  /** 选考组合（可选指标） */
  subject_combo?: string;
  /** 各科目成绩（根据选择的subject_ids返回） */
  subject_scores?: Record<string, ScoreDetail>;
  /** 系统号（可选指标） */
  system_number?: string;
  /** 标签（可选指标） */
  tags?: string;
  /** 总分相关（当include_total_score为true时返回） */
  total_score?: ScoreDetail;
};

export type StudentScoreStat = {
  /** 分数 */
  score?: number;
  /** 取得这分数的学生个数 */
  student_count?: number;
  /** 获得这个分数的学生占比 */
  student_rate?: number;
  /** 获得这个分数的学生名单 */
  student_list?: StudentInfo[];
};

export type SubjectAnalysisDetail = {
  /** 学科满分 */
  full_score?: number;
  /** 该档次该学科分数线 */
  score_line?: number;
  /** 学科ID */
  subject_id?: string;
  /** 学科名称 */
  subject_name?: string;
  /** 该学科总贡献率 */
  total_contribution_rate?: number;
  /** 该学科总双上线人数 */
  total_double_online_count?: number;
  /** 该学科总命中率 */
  total_hit_rate?: number;
  /** 该学科总上线人数 */
  total_online_count?: number;
};

export type SubjectAnalysisItem = {
  /** 平均分 */
  average_score?: number;
  /** 我的成绩 */
  my_score?: number;
  /** 科目ID */
  subject_id?: number;
  /** 科目名称 */
  subject_name?: string;
};

export type SubjectClassAnalysisExcelExportRequest = {
  /** 班级字典key列表（class模式时使用） */
  class_ids?: string[];
  /** 考试ID */
  exam_id: number;
  /** 文件名，可选 */
  file_name?: string;
  /** 档次级别（如"一档"、"二档"、"三档"） */
  level: string;
  /** 查询模式：school/class */
  query_mode: string;
  /** 学校ID列表（school模式时使用） */
  school_ids?: number[];
};

export type SubjectClassAnalysisGroup = {
  /** 学校ID或班级字典key */
  group_key?: string;
  /** 学校名或班级名 */
  group_name?: string;
  /** 该组学生总数 */
  student_count?: number;
  /** 各学科统计 */
  subjects?: SubjectGroupAnalysisItem[];
};

export type SubjectClassAnalysisRequest = {
  /** 班级字典key列表（class模式时使用） */
  class_ids?: string[];
  /** 考试ID */
  exam_id: number;
  /** 档次级别（如"一档"、"二档"、"三档"） */
  level: string;
  /** 查询模式：school/class */
  query_mode: string;
  /** 学校ID列表（school模式时使用） */
  school_ids?: number[];
};

export type SubjectClassAnalysisResponse = {
  /** 考试ID */
  exam_id?: number;
  /** 考试名称 */
  exam_name?: string;
  /** 各组学科分档统计 */
  groups?: SubjectClassAnalysisGroup[];
  /** 当前查询的档次 */
  level?: string;
  /** 各学科汇总统计 */
  subjects?: SubjectAnalysisDetail[];
  /** 总分档次信息 */
  total_score_info?: TotalScoreInfo;
  /** 总学生数 */
  total_students?: number;
};

export type SubjectGroupAnalysisItem = {
  /** 命中率 */
  contrib_rate?: number;
  /** 双上线 */
  double_online?: number;
  /** 贡献率 */
  pass_rate?: number;
  /** 单科上线 */
  single_online?: number;
  /** 上线人数 */
  student_count?: number;
  /** 科目名称 */
  subject_name?: string;
};

export type SubjectInfo = {
  /** 创建时间 */
  created_time?: string;
  /** 评估类型 */
  evaluate_method?: string;
  /** 考试科目ID */
  exam_subject_id?: number;
  /** 是否存在问题卷 */
  is_problem_pending?: boolean;
  /** 阅卷状态 */
  marking_status?: string;
  /** 题目数量 */
  question_count?: number;
  /** 科目ID */
  subject_id?: number;
  /** 科目名称 */
  subject_name?: string;
  /** 教师类型：normal-阅卷老师, arbitration-仲裁老师, leader-组长 */
  teacher_type?: string;
};

export type SubjectiveAnswer = {
  /** 最终得分 */
  final_score?: number;
  /** 满分 */
  full_score?: number;
  /** 是否标记为优秀 (1:是, 0:否, null:未设置) */
  is_excellent?: number;
  /** 是否标记为典型 (1:是, 0:否, null:未设置) */
  is_model?: number;
  /** 是否标记为问题卷 (1:是, 0:否, null:未设置) */
  is_problem?: number;
  /** 问题卷附属说明 */
  problem_addition?: string;
  /** 问题卷状态 */
  problem_status?: string;
  /** 问题卷类型 */
  problem_type?: string;
  /** 题目ID */
  question_id?: number;
  /** 备注 */
  remark?: string;
};

export type SubjectiveQualityItem = {
  /** 平均分 */
  average_score?: number;
  /** 题目统计列表 */
  question_items?: SubjectiveQuestionItem[];
  /** 总分 */
  total_score?: number;
};

export type SubjectiveQuestionItem = {
  /** 平均分 */
  average_score?: number;
  /** 评选方式 */
  evaluate_method?: string;
  /** 题目ID */
  question_id?: number;
  /** 大题号 */
  question_major?: string;
  /** 小题号 */
  question_minor?: string;
  /** 总分 */
  total_score?: number;
};

export type SuspendMarkingResponse = {
  /** 响应消息 */
  message?: string;
  /** 是否成功 */
  success?: boolean;
};

export type SysMenu = {
  /** 组件地址 */
  component?: string;
  /** 创建人 */
  created_by?: string;
  /** 创建时间 */
  created_time?: string;
  /** 菜单图标 */
  icon?: string;
  /** 菜单ID */
  id?: number;
  /** 是否删除 */
  is_deleted?: number;
  /** 是否启用 */
  is_enable?: number;
  /** 元数据信息 */
  meta?: string;
  /** 菜单名称 */
  name?: string;
  /** 上级菜单ID */
  parent_id?: number;
  /** 关联关系 */
  roles?: SysRole[];
  /** 菜单路由 */
  route?: string;
  /** 更新人 */
  updated_by?: string;
  /** 更新时间 */
  updated_time?: string;
};

export type SysRole = {
  /** 角色编码 */
  code?: string;
  /** 创建人 */
  created_by?: string;
  /** 创建时间 */
  created_time?: string;
  /** 角色ID */
  id?: number;
  /** 是否删除 */
  is_deleted?: number;
  /** 是否启用 */
  is_enable?: number;
  /** 是否关联学校 */
  is_relation?: number;
  /** 角色名称 */
  name?: string;
  permissions?: SysMenu[];
  /** 更新人 */
  updated_by?: string;
  /** 更新时间 */
  updated_time?: string;
  /** 关联关系 */
  users?: SysUser[];
};

export type SysUser = {
  /** 创建人ID */
  created_by?: string;
  /** 创建时间 */
  created_time?: string;
  /** 系统用户ID */
  id?: string;
  /** 是否是系统管理员 */
  is_admin?: boolean;
  /** 是否删除 */
  is_deleted?: number;
  /** 是否启用 */
  is_enable?: number;
  /** 系统用户昵称 */
  nickname?: string;
  /** 系统用户手机号 */
  phone?: string;
  /** 关联关系 */
  roles?: SysRole[];
  schools?: School[];
  /** 修改人ID */
  updated_by?: string;
  /** 修改时间 */
  updated_time?: string;
  /** 系统用户名 */
  username?: string;
};

export type sysUsersSchoolAdminsUsingGetParams = {
  /** 页码 */
  page?: number;
  /** 每页数量 */
  page_size?: number;
};

export type sysUsersUidPasswordUsingPutParams = {
  /** 用户ID */
  uid: string;
};

export type sysUsersUidPermissionsCheckUsingGetParams = {
  /** 用户ID */
  uid: string;
  /** 菜单路由 */
  menu_route: string;
};

export type sysUsersUidPermissionsUsingGetParams = {
  /** 用户ID */
  uid: string;
};

export type sysUsersUidRolesUsingDeleteParams = {
  /** 用户ID */
  uid: string;
  /** 角色ID列表 */
  role_ids: number[];
};

export type sysUsersUidRolesUsingGetParams = {
  /** 用户ID */
  uid: string;
};

export type sysUsersUidRolesUsingPostParams = {
  /** 用户ID */
  uid: string;
};

export type sysUsersUidUsingDeleteParams = {
  /** 用户ID */
  uid: string;
};

export type sysUsersUidUsingGetParams = {
  /** 用户ID */
  uid: string;
};

export type sysUsersUidUsingPutParams = {
  /** 用户ID */
  uid: string;
};

export type sysUsersUsingGetParams = {
  /** 页码 */
  page?: number;
  /** 每页数量 */
  page_size?: number;
  /** 用户名（模糊查询） */
  username?: string;
  /** 手机号（模糊查询） */
  phone?: string;
  /** 昵称（模糊查询） */
  nickname?: string;
};

export type TaskTypeProgressDetail = {
  /** 已阅卷数量 */
  marked_quantity?: number;
  /** 学校列表 */
  school_list?: SchoolProgressDetail[];
  /** 任务类型 */
  task_type?: string;
  /** 总数量 */
  total_quantity?: number;
};

export type TeacherAnalysisClassInfo = {
  /** 班级名称 */
  class?: string;
  /** 班级KEY */
  class_key?: number;
  /** 年级名称 */
  grade?: string;
  /** 年级KEY */
  grade_key?: number;
};

export type TeacherAnalysisExamInfo = {
  /** 考试ID */
  exam_id?: number;
  /** 考试名称 */
  exam_name?: string;
  /** 考试科目ID */
  exam_subject_id?: number;
  /** 科目名称 */
  subject_name?: string;
};

export type teacherAnalysisInfoIdUsingGetParams = {
  /** 答题卡ID */
  info_id: number;
};

export type TeacherAnalysisResponse = {
  /** 班级列表 */
  class_list?: TeacherAnalysisClassInfo[];
  /** 考试列表 */
  exam_list?: TeacherAnalysisExamInfo[];
  /** 科目列表 */
  subject_list?: TeacherAnalysisSubjectInfo[];
};

export type teacherAnalysisStudentAnswerImageUsingGetParams = {
  /** 题目ID */
  question_id: number;
  /** 学号 */
  student_number: string;
};

export type TeacherAnalysisSubjectInfo = {
  /** 科目ID */
  subject_id?: number;
  /** 科目名称 */
  subject_name?: string;
};

export type TeacherMarkingDetail = {
  /** 已阅卷数量 */
  marked_quantity?: number;
  /** 老师ID */
  teacher_id?: number;
  /** 老师姓名 */
  teacher_name?: string;
  /** 总数量 */
  total_quantity?: number;
};

export type TeacherMarkingTasksResponse = {
  /** 当前任务（最近一次考试） */
  current_task?: ExamMarkingTaskResponse;
  /** 历次任务（历史考试） */
  history_tasks?: ExamMarkingTaskListResponse;
};

export type TeacherQuestionAverageScoreResponse = {
  /** 平均分 */
  average_score?: number;
  /** 题目ID */
  question_id?: number;
  /** 题号主号 */
  question_major?: string;
  /** 题号次号 */
  question_minor?: string;
  /** 已打分记录数 */
  scored_count?: number;
  /** 任务ID */
  task_id?: number;
  /** 教师ID */
  teacher_id?: number;
  /** 教师姓名 */
  teacher_name?: string;
  /** 总记录数 */
  total_count?: number;
};

export type TotalScoreInfo = {
  /** 总分满分 */
  full_score?: number;
  /** 该档次总分上线人数 */
  online_count?: number;
  /** 该档次总分分数线 */
  score_line?: number;
};

export type TrendInfo = {
  /** 考试日期 */
  exam_date?: string;
  /** 考试ID */
  exam_id?: number;
  /** 考试名称 */
  exam_name?: string;
  /** 年级走势数据 */
  trend_data?: unknown[];
};

export type UnifiedConfigData = {
  /** 额外配置（用于特殊配置类型） */
  extra_config?: Record<string, unknown>;
  /** 等级数量 */
  level_count?: number;
  /** 等级配置列表 */
  levels?: UnifiedLevelItem[];
  /** 规则类型 */
  rule_type?: string;
};

export type UnifiedLevelItem = {
  /** 描述 */
  description?: string;
  /** 等级名称 A/B/C/D/E 或 优秀/良好等 */
  level?: string;
  /** 排序 */
  order?: number;
  /** 范围最大值 */
  range_max?: number;
  /** 范围最小值 */
  range_min?: number;
  /** 单一值（百分比/分数等） */
  value?: number;
};

export type UpdateDictionaryItemRequest = {
  /** 字典项key */
  key: string;
  /** 排序值 */
  sort_order?: number;
  /** 字典项value */
  value: string;
};

export type UpdateDictionaryTypeRequest = {
  /** 字典编码 */
  code: string;
  /** 字典名称 */
  name: string;
};

export type UpdateScoreByRecordIDResponse = {
  /** 响应消息 */
  message?: string;
  /** 新评分 */
  new_score?: number;
  /** 原评分 */
  old_score?: number;
  /** 题目ID */
  question_id?: number;
  /** 扫描信息ID */
  scan_info_id?: number;
  /** 是否成功 */
  success?: boolean;
  /** 更新时间 */
  updated_at?: string;
};

export type UpdateSysUserRequest = {
  /** 是否是系统管理员 */
  is_admin?: boolean;
  /** 是否启用 */
  is_enable?: number;
  /** 系统用户昵称 */
  nickname?: string;
  /** 系统用户手机号 */
  phone?: string;
  /** 学校ID列表 */
  school_ids?: number[];
  /** 系统用户名 */
  username?: string;
};

export type UploadProgress = {
  expires_at?: string;
  filename?: string;
  progress?: number;
  session_id?: string;
  status?: string;
  total_chunks?: number;
  total_size?: number;
  uploaded_chunk_indexes?: number[];
  uploaded_chunks?: number;
};

export type VerificationCodeResponse = {
  /** 响应消息 */
  message?: string;
  /** 请求ID */
  request_id?: string;
};
