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); }