using Entities.DTO;
namespace TechHelper.Services.Beta
{
///
/// 提交服务接口(Beta版本)
/// 提供提交相关的业务逻辑操作
///
public interface ISubmissionService : IBaseService
{
///
/// 获取用户的错题列表
///
/// 用户ID
/// 错题列表
Task GetAllErrorQuestionsAsync(Guid userId);
///
/// 获取指定作业的错题列表
///
/// 作业ID
/// 用户ID
/// 错题列表
Task GetAssignmentErrorQuestionsAsync(Guid assignmentId, Guid userId);
///
/// 获取错题类型分布
///
/// 作业ID
/// 用户ID
/// 错题类型分布
Task GetAssignmentErrorQuestionTypeDisAsync(Guid assignmentId, Guid userId);
///
/// 获取所有错题类型分布
///
/// 作业ID
/// 用户ID
/// 错题类型分布
Task GetAllErrorQuestionTypeDisAsync(Guid assignmentId, Guid userId);
///
/// 获取作业中所有学生的错题情况
///
/// 作业ID
/// 教师ID
/// 学生错题情况
Task GetAssignmentAllStudentsError(Guid assignmentId, Guid teacherId);
///
/// 获取出现错题的学生列表
///
/// 作业题目ID
/// 错题学生列表
Task GetQuestionErrorStudents(Guid assignmentQuestionId);
///
/// 判断是否已经存在提交记录
///
/// 作业ID
/// 学生ID
/// 提交记录数量
Task IsHasSubmissionAsync(Guid assignmentId, Guid studentId);
///
/// 获取学生提交摘要
///
/// 用户ID
/// 学生提交摘要列表
Task GetStudentSubmissionSummariesAsync(Guid userId);
///
/// 获取学生提交详情
///
/// 提交ID
/// 学生提交详情
Task GetStudentSubmissionDetailAsync(Guid submissionId);
///
/// 批改的试卷
///
///
///
Task GradeExam(SubmissionTeacherUpdateDto model);
}
}