派生自 projectDept/qhighschool

EricsHu
2023-11-24 0e62c15e4b010ffa2d5cff9474f3fd389e369338
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
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<String, Object> initScore(String exerciseInfoId);
 
    /**
     * 题目得分详情
     * 
     * @param groupId
     * @return
     */
    List<ExerciseItemStatistics> 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<Map<String, Object>> teacherExerciseInfoList(Integer pageSize,String keyword,String classId,Integer pageNum);
    
    /**
     * 后台查询作业列表
     * @param keyword
     * @param pageSize
     * @param pageNum
     * @return
     */
    List<ExerciseInfo> 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<ExerciseItemSet> 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<ExerciseResultV> queryStuExerciselist(String keyword,String exerciseInfoId,String userId,String subjectId, Short status, Integer pageSize, Integer pageNum);
    
    /**
     * 查询作业完成情况数量
     * @param lstExerciseIds
     * @return
     */
    Map<String, Integer> queryResultStatusCount(List<String> lstExerciseIds);
    
}