package com.qxueyou.scc.teach.subject.service; import java.lang.reflect.InvocationTargetException; import java.util.List; import java.util.Map; import com.qxueyou.scc.base.model.Pager; import com.qxueyou.scc.base.model.Result; import com.qxueyou.scc.teach.subject.model.Subject; import com.qxueyou.scc.teach.subject.model.view.MySubjectV; public interface ISubjectService { /** * ÐÂÔö¿Î³Ì * * @param subjectName * ¿Î³ÌÃû³Æ * @param coverPageFileId * ·âÃæÎļþid * @param contentFileId * ÄÚÈÝÎļþid * @return */ Result add(String subjectName, String coverPageFileId, String contentFileId,int type); /** * ÐÞ¸Ä¿Î³Ì * * @param subjectName * ¿Î³ÌÃû³Æ * @param subjectId * ¿Î³Ìid * @param coverPageFileId * ·âÃæÎļþid * @param contentFileId * ÄÚÈÝÎļþid * @return */ Result update(String subjectId, String subjectName, String coverPageFileId, String contentFileId,int type); /** * ɾ³ý¿Î³Ì * * @param subjectIds * ¿Î³ÌidÊý×é * @return ÉÏ´«½á¹û:{"success":true,msg:"success",attrs:{}} */ Result delete(String[] subjectIds); /** * ·¢²¼¿Î³Ì * * @param subjectIds * ¿Î³ÌidÊý×é * @return ÉÏ´«½á¹û:{"success":true,msg:"success",attrs:{}} */ Result doRelease(String[] subjectIds); /** * ³·»Ø¿Î³Ì * * @param subjectIds * ¿Î³ÌidÊý×é * @return ÉÏ´«½á¹û:{"success":true,msg:"success",attrs:{}} */ Result doCancel(String[] subjectIds); /** * ¸üпμþÊýÁ¿ * * @param subjectId * @param count * @return */ Result addLectureCount(String subjectId, int count); /** * ²éѯ¿Î³Ì * * @param text * ËÑË÷Îı¾ * @param pageSize * Ò³Âë * @param pageNum * ÿҳÏÔʾÐÐÊý * @return ·µ»Ø¿Î³ÌÁбí */ List list(String text, String teacherId, String status,Integer type, Integer pageSize, Integer pageNum); /** * ²éѯ¿Î³Ì¸öÊý * * @param text * ËÑË÷Îı¾ * @return ·µ»Ø¿Î³Ì×ÜÊý */ int listCount(String text, String teacherId, String status,Integer type); /** * ¶ÁÈ¡¿Î³Ì * * @param subjectId * ¿Î³ÌID * @return ·µ»Ø¿Î³ÌÁбí */ Subject read(String subjectId); /** * ¶ÁÈ¡¿Î³ÌÏêÇé½éÉÜ * * @param subjectId * ¿Î³ÌID * @return ·µ»Ø¿Î³ÌÏêÇé½éÉÜ */ String readSubjectContent(String subjectId); /** * ²éѯÎÒµÄ¿Î³Ì * * @param classId * °à¼¶id * @return ·µ»Ø¿Î³ÌÁбí */ List listMySubjectV(String classId,String userId); /** * Ê×Ò³²éѯÎÒµÄ¿Î³Ì */ List> getMySubjectList(); /** * ²éѯÎÒµÄ¿Î³Ì * * @param classId * °à¼¶id * @return ·µ»Ø¿Î³ÌÁбí */ MySubjectV getMy1stSubjectVById(String subjectId); /** * ²éѯ¸öÈ˿γÌÕ½ڵÄѧϰ½ø¶È * * @param classId * °à¼¶id * @return ·µ»ØÕ½Úѧϰ½ø¶ÈÁбí */ List> listChapterStudyProgress(String subjectId); /** * »ñÈ¡subject¶ÔÏó */ Subject readSubject(String subjectId); /** * ÎҵĻ»ñÈ¡¿Î³ÌÍê³ÉÇé¿ö * * @return */ Result getPerformance4Subject(); /** * Ê×Ò³»ñÈ¡¿Î³ÌÏêÇéÁбí */ Result lstSubjectDetail(); /** * »ñÈ¡Êý¾ÝÅÅÐÐ * * @return */ Result getDataDesc(String classId, String subjectId); /** * »ñÈ¡ÉÏ´ÎѧϰµÄλÖà */ Result lastStudied(String userId); /** * Ìí¼Ó°à¼¶¿Î³Ì * @param origSubjectId * @param teacherId * @param schoolYear * @param term * @return * @throws InvocationTargetException * @throws IllegalAccessException */ Result addClsSubject(String classId,String origSubjectId, String teacherId, Integer schoolYear, Integer term) throws IllegalAccessException, InvocationTargetException; /** * ¸üа༶¿Î³Ì * @param subjectId * @param origSubjectId * @param teacherId * @param schoolYear * @param term * @return */ Result updateClsSubject(String classId,String subjectId, String origSubjectId, String teacherId, Integer schoolYear, Integer term); /** * ɾ³ý°à¼¶¿Î³Ì * @param classId * @param subjectIds * @return */ Result deleteClsSubject(String classId, String[] subjectIds); /** * ²éѯ°à¼¶¿Î³Ì * * @param classId * @param schoolYear * @param term * @return */ public List> clsSubjectlist(String classId, Integer schoolYear, Integer term); /** * »ñÈ¡°à¼¶Ñ§ÆÚ * * @param classId * @return */ public List> termList(String classId); /** * ÎҵĿγ̰´Ñ§ÆÚ·ÖÀà * * @param classId * @return */ public List> myTermSubjectList(String classId); /** * ÎҵĿγ̣¬°´Ê±¼äÅÅÐò * * @param classId * @return */ public List> mySubjectList(String classId, Pager pager); /** * ²éѯÀÏʦ»ò¹ÜÀíÔ±¿ÉÓõĿγÌIDºÍ¿Î³ÌÃû×ÖÁбí * @param teacherId ¸ù¾Ý½ÌʦID¹ýÂË * @return */ List> queryAvailableSubjectIdAndName(String teacherId,Integer sbujectType); /** * Îҵİ༶ÐÅÏ¢ * * @param classId * @return */ public Map myClassInfo(String classId); /** * »ñÈ¡ÎҵĿγÌÊýÁ¿ * * @param classId * @return */ public long myClsSubjectCount(String classId); /** * »ñÈ¡ÎҵĿγ̽ø¶È * * @param classId * @param userId * @return */ public List> myClsSubjectlist(String classId, String userId, Pager pager); /** * ѧԱ¿Î³Ì×÷Òµ½ø¶È * * @param classId * @param subjectId * @return */ public Map studentSubjectHomeworkProgress(String classId, String subjectId, String userId); /** * ѧԱ¿¼ÊÔ×÷Òµ½ø¶È * * @param classId * @param subjectId * @return */ public Map studentSubjectExamProgress(String classId, String subjectId, String studentId); /** * »ñȡѧԱµÄ¿Î³Ì½ø¶È * * @param classId * @return */ public List> studentSubjectProgress(String classId, Pager pager); /** * °à¼¶Ñ§Ô±¿Î¼þ×ÜÌå½ø¶È * * @param subjectId * @param classId * @return */ public List> studentSubjectLectureProgress(String subjectId, String classId); /** * ÎҵĹ«¿ª¿ÎÁбí * * @param pageNum * @param pageSize * @param keyword * @return */ public Map myOpenSubjectList(Integer pageNum, Integer pageSize, String keyword); /** * ¹«¿ª¿ÎÁбí * * @param pageNum * @param pageSize * @param keyword * @return */ public Map openSubjectList(Integer pageNum, Integer pageSize, String keyword); /** * ¹«¿ª¿ÎÏêÇé * * @param subjectId * @return */ public Map openSubjectInfo(String subjectId); /** * ÎҵĿγÌÏêÇé * * @param classId * @return */ public Map mySubjectInfo(String subjectId, String classId); /** * app½Ìʦ¶Ë¿Î³ÌÁбí * * @param text * @param status * @param type * @param pageSize * @param pageNum * @return */ Result teacherSubjectList(Pager pager, String keyword, String status,Integer type); /** * ¿Î³Ì°´Ñ§ÆÚ·ÖÀà * * @param classId * @return */ List> termSubjectList(String classId, List> clsSubjectlist); /** * ²éѯ¿Î³Ì¹ØÁªµÄ°à¼¶ÐÅÏ¢ * @param origSubjectId * @return */ List> querySubjectReClassInfos(String origSubjectId); /** * »ñÈ¡¿Î¼þÊýÁ¿ * * @param subjectId * @return */ public long getLectureCount(String subjectId); }