/* eslint-disable */
// @ts-ignore
import request from '@/http/vue-query';
import { CustomRequestOptions } from '@/http/types';

import * as API from './types';

/** 获取答题卡详情 根据答题卡ID获取答题卡详细信息，包括学生信息、成绩信息、客观题答案、主观题答案等 GET /teacher-analysis/${param0} */
export async function teacherAnalysisInfoIdUsingGet({
  params,
  options,
}: {
  // 叠加生成的Param类型 (非body参数openapi默认没有生成对象)
  params: API.teacherAnalysisInfoIdUsingGetParams;
  options?: CustomRequestOptions;
}) {
  const { info_id: param0, ...queryParams } = params;

  return request<
    API.Response & {
      data?: API.GetAnswerSheetResponse;
    }
  >(`/teacher-analysis/${param0}`, {
    method: 'GET',
    params: { ...queryParams },
    ...(options || {}),
  });
}

/** 老师关注学生 老师关注指定学生 POST /teacher-analysis/attention-student */
export async function teacherAnalysisAttentionStudentUsingPost({
  body,
  options,
}: {
  body: API.CreateTeacherAttentionStudentRequest;
  options?: CustomRequestOptions;
}) {
  return request<
    API.Response & {
      message?: string;
    }
  >('/teacher-analysis/attention-student', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  });
}

/** 获取班级考试对比(纵向对比) 获取指定班级的所有考试对比数据，包括班级平均分、排名、标准分和年级前50名人数 POST /teacher-analysis/class-exam-comparison */
export async function teacherAnalysisClassExamComparisonUsingPost({
  body,
  options,
}: {
  body: API.ClassExamComparisonRequest;
  options?: CustomRequestOptions;
}) {
  return request<
    API.Response & {
      data?: API.ClassExamComparisonData;
    }
  >('/teacher-analysis/class-exam-comparison', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  });
}

/** 获取班级考试对比(横向对比) 获取指定班级的所有考试对比数据，包括班级平均分、年级平均分、班级排名、学科名字、学科ID POST /teacher-analysis/class-exam-comparison-horizontal */
export async function teacherAnalysisClassExamComparisonHorizontalUsingPost({
  body,
  options,
}: {
  body: API.ClassExamComparisonRequestH;
  options?: CustomRequestOptions;
}) {
  return request<
    API.Response & {
      data?: API.ClassExamComparisonDataH;
    }
  >('/teacher-analysis/class-exam-comparison-horizontal', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  });
}

/** 获取班级下所有学生成绩列表 获取指定科目、年级、班级的所有学生成绩列表 POST /teacher-analysis/class-student-score-list */
export async function teacherAnalysisClassStudentScoreListUsingPost({
  body,
  options,
}: {
  body: API.GetClassStudentScoreListRequest;
  options?: CustomRequestOptions;
}) {
  return request<
    API.Response & {
      data?: API.GetClassStudentScoreListResponse;
    }
  >('/teacher-analysis/class-student-score-list', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  });
}

/** 获取老师所带科目和考试信息 获取老师所带科目和考试信息，用于PC端成绩分析模块 GET /teacher-analysis/data */
export async function teacherAnalysisDataUsingGet({
  options,
}: {
  options?: CustomRequestOptions;
}) {
  return request<
    API.Response & {
      data?: API.TeacherAnalysisResponse;
    }
  >('/teacher-analysis/data', {
    method: 'GET',
    ...(options || {}),
  });
}

/** 导出成绩单 导出指定科目、年级、班级的成绩单Excel文件 POST /teacher-analysis/export-score-sheet */
export async function teacherAnalysisExportScoreSheetUsingPost({
  body,
  options,
}: {
  body: API.ExportScoreSheetRequest;
  options?: CustomRequestOptions;
}) {
  return request<
    API.Response & {
      data?: string;
    }
  >('/teacher-analysis/export-score-sheet', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  });
}

/** 导出学生列表 导出学生列表为Excel文件 POST /teacher-analysis/export-student-list */
export async function teacherAnalysisExportStudentListUsingPost({
  body,
  options,
}: {
  body: API.ExportStudentListRequest;
  options?: CustomRequestOptions;
}) {
  return request<
    API.Response & {
      data?: API.ExportStudentListResponse;
    }
  >('/teacher-analysis/export-student-list', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  });
}

/** 获取重点学生情况 获取指定科目、年级、班级的重点学生情况 POST /teacher-analysis/key-student */
export async function teacherAnalysisKeyStudentUsingPost({
  body,
  options,
}: {
  body: API.GetKeyStudentRequest;
  options?: CustomRequestOptions;
}) {
  return request<
    API.Response & {
      data?: API.GetKeyStudentResponse;
    }
  >('/teacher-analysis/key-student', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  });
}

/** 获取个人报告 获取指定学生的个人成绩报告，包含考试总结、学习情况分析和难度分析 POST /teacher-analysis/personal-report */
export async function teacherAnalysisPersonalReportUsingPost({
  body,
  options,
}: {
  body: API.GetPersonalReportRequest;
  options?: CustomRequestOptions;
}) {
  return request<
    API.Response & {
      data?: API.GetPersonalReportResponse;
    }
  >('/teacher-analysis/personal-report', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  });
}

/** 获取名次统计 根据考试ID、科目ID、班级ID获取名次统计数据 POST /teacher-analysis/rank-statistics */
export async function teacherAnalysisRankStatisticsUsingPost({
  body,
  options,
}: {
  body: API.RankStatisticsRequest;
  options?: CustomRequestOptions;
}) {
  return request<
    API.Response & {
      data?: API.RankStatisticsResponse;
    }
  >('/teacher-analysis/rank-statistics', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  });
}

/** 获取最近考试情况 获取指定科目、年级、班级的最近考试统计数据 POST /teacher-analysis/recent-exam-stats */
export async function teacherAnalysisRecentExamStatsUsingPost({
  body,
  options,
}: {
  body: API.GetRecentExamStatsRequest;
  options?: CustomRequestOptions;
}) {
  return request<
    API.Response & {
      data?: API.GetRecentExamStatsResponse;
    }
  >('/teacher-analysis/recent-exam-stats', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  });
}

/** 获取均分对比分析(横向对比) 获取指定考试、科目的均分对比分析数据 POST /teacher-analysis/score-analysis */
export async function teacherAnalysisScoreAnalysisUsingPost({
  body,
  options,
}: {
  body: API.ScoreAnalysisRequest;
  options?: CustomRequestOptions;
}) {
  return request<
    API.Response & {
      data?: API.ScoreAnalysisResponse;
    }
  >('/teacher-analysis/score-analysis', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  });
}

/** 获取成绩单 获取指定科目、年级、班级的成绩单 POST /teacher-analysis/score-sheet */
export async function teacherAnalysisScoreSheetUsingPost({
  body,
  options,
}: {
  body: API.GetScoreSheetRequest;
  options?: CustomRequestOptions;
}) {
  return request<
    API.Response & {
      data?: API.GetScoreSheetResponse;
    }
  >('/teacher-analysis/score-sheet', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  });
}

/** 获取学生答题图片 根据题目ID和学号获取学生的答题图片URL GET /teacher-analysis/student-answer-image */
export async function teacherAnalysisStudentAnswerImageUsingGet({
  params,
  options,
}: {
  // 叠加生成的Param类型 (非body参数openapi默认没有生成对象)
  params: API.teacherAnalysisStudentAnswerImageUsingGetParams;
  options?: CustomRequestOptions;
}) {
  return request<
    API.Response & {
      data?: string;
    }
  >('/teacher-analysis/student-answer-image', {
    method: 'GET',
    params: {
      ...params,
    },
    ...(options || {}),
  });
}

/** 获取个人历次考试详情 获取指定学生的历次考试详情 POST /teacher-analysis/student-exam-history */
export async function teacherAnalysisStudentExamHistoryUsingPost({
  body,
  options,
}: {
  body: API.GetStudentExamHistoryRequest;
  options?: CustomRequestOptions;
}) {
  return request<
    API.Response & {
      data?: API.GetStudentExamHistoryResponse;
    }
  >('/teacher-analysis/student-exam-history', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  });
}

/** 获取学生列表 获取指定考试科目、年级、班级的学生列表，分为已关注和其他学生 POST /teacher-analysis/student-list */
export async function teacherAnalysisStudentListUsingPost({
  body,
  options,
}: {
  body: API.GetStudentListRequest;
  options?: CustomRequestOptions;
}) {
  return request<
    API.Response & {
      data?: API.GetStudentListResponse;
    }
  >('/teacher-analysis/student-list', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  });
}

/** 获取班级和年级平均分走势 获取指定科目、年级、班级的平均分走势 POST /teacher-analysis/trend */
export async function teacherAnalysisTrendUsingPost({
  body,
  options,
}: {
  body: API.GetTrendRequest;
  options?: CustomRequestOptions;
}) {
  return request<
    API.Response & {
      data?: API.GetTrendResponse;
    }
  >('/teacher-analysis/trend', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  });
}
