package com.qxueyou.scc.exercise.service; import java.util.List; import java.util.Map; import com.qxueyou.scc.base.model.Result; import com.qxueyou.scc.exercise.model.ExerciseInfo; import com.qxueyou.scc.exercise.model.ExerciseItemSet; import com.qxueyou.scc.exercise.model.ExerciseItemStatistics; import com.qxueyou.scc.exercise.model.ExerciseResultV; import com.qxueyou.scc.exercise.model.ExerciseSubmitAnswerData; /** * 作业 * * @author lihanqi * */ public interface IExerciseInfoService { /** * 保存作业 * * @return * @throws Exception */ public Result insertExerciseInfo(ExerciseInfo exerciseInfo); /** * 开始作业 * * @param exerciseInfoId * @return */ public Result doStartExerciseInfo(String exerciseInfoId, String classId, String studentUserId); /** * 修改作业 * * @return * @throws Exception */ public Result updateExerciseInfo(ExerciseInfo exerciseInfo); /** * 删除作业 * * @param exerciseInfoId * @return */ public Result deleteExerciseInfo(String exerciseInfoId); /** * 初始化平均成绩和最高成绩 * * @param groupId * @return */ Map initScore(String exerciseInfoId); /** * 题目得分详情 * * @param groupId * @return */ List itemDetailList(String exerciseInfoId); /** * 提交文件作业和写作作业 * * @param exerciseInfoId * @param fileId * @param filePath * @param submitType * @return */ Result doSubmitOtherExerciseInfo(String exerciseInfoId, String content, String fileId, String filePath, short submitType); /** * 提交习题作业 * * @param answers * @return */ Result doSubmitAnswerExerciseInfo(ExerciseSubmitAnswerData answerData, String exerciseInfoId, String exerciseCompleteId); /** * 发布作业 * * @param examIds * 作业的的Ids * @return 1表示发布成功,0表示发布失败 */ Result doPublishExercise(String[] exerciseId); /** * 撤回发布的作业 * * @param examIds * 发布的作业的Ids * @return 1表示撤回成功,0表示撤回失败失败 */ Result doRevokeExercise(String[] exerciseId); /** * 首页获取学生作业总条数 * * @param classId * @param userId */ int getExerciseCount(String classId, String userId); /** * 首页获取学生已完成的作业条数 * * @param classId * @param userId * @return */ int getCommitExerciseCount(String classId, String userId); /** * 首页获取学生带完成的条数 * * @param classId * @param userId * @return */ int getToBeCommitExerciseCount(String classId, String userId); /** * 首页获取逾期未交的作业条数 * * @param classId * @param userId * @return */ int getUnCommitExerciseCount(String classId, String userId); /** * 删除考试 * * @param examId * @return */ String queryExerciseInfoRelatedGroupId(String exerciseInfoId); /** * 查询作业列表-教师端 * * @param pageSize * @param keyword * @param classId * @param pageNum * @return */ List> teacherExerciseInfoList(Integer pageSize,String keyword,String classId,Integer pageNum); /** * 后台查询作业列表 * @param keyword * @param pageSize * @param pageNum * @return */ List list(String keyword,String classId,Short status,Integer pageSize, Integer pageNum); /** * 后台查询作业列表数量 * @param keyword * @param creatorId * @return */ int listCount(String keyword,String classId,Short status); /** * 查询答题作业的作业设置 * @param exerciseInfoId * @return */ List queryExerciseItemSet(String exerciseInfoId); /** * 查询学生作业数量 * @param keyword * @param exerciseInfoId * @param subjectId * @param status * @return */ int queryStuExerciseListCount(String keyword,String exerciseInfoId,String userId, String subjectId, Short status); /** * 查询学生作业情况列表 * @param keyword * @param exerciseInfoId * @param subjectId * @param status * @param pageSize * @param pageNum * @return */ List queryStuExerciselist(String keyword,String exerciseInfoId,String userId,String subjectId, Short status, Integer pageSize, Integer pageNum); /** * 查询作业完成情况数量 * @param lstExerciseIds * @return */ Map queryResultStatusCount(List lstExerciseIds); }