派生自 projectDept/qhighschool

EricsHu
2022-12-05 068fc7f2e81178e55fa191a13709af64b1a163f6
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
package com.qxueyou.scc.exercise.service;
 
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.exercise.model.ExerciseGroup;
import com.qxueyou.scc.exercise.model.ExerciseItemSet;
 
/**
 * 题库服务类
 *
 * @author kevin
 * @createTime 2018-03-11
 */
public interface IExerciseGroupService {
 
    /**
     * 查询题库数量
     * @param param 查询参数
     * @return
     */
    int queryExerciseGroupCount(Map<String,Object> param);
 
 
    /**
     * 查询题库列表
     * @param param  查询参数
     * @param page   分页对象
     * @return
     */
    List<ExerciseGroup> queryExerciseGroupList(Map<String,Object> param,Pager page);
 
 
    /**
     * 新增题库
     *
     * @param exerciseGroupInfo
     *
     * @return 新增题库ID
     */
    String addExerciseGroup(ExerciseGroup exerciseGroup);
 
    /**
     * 删除题库
     *
     * @param elxamIds
     *            题库id
     * @return
     */
    Result deleteExerciseGroup(String[] exerciseGroupIds);
 
    /**
     * 更新题库信息
     *
     * @param noticeId
     *            题库id
     * @return
     */
    Result updateExerciseGroup(ExerciseGroup exerciseGroup);
 
    ExerciseGroup queryExerciseGroupDetail(String groupId,String batchId);
    ExerciseGroup queryReExerciseGroupDetail(String groupId,String examId);
 
    /**
     * 发布题库
     *
     * @param exerciseGroupIds
     *            题库的Ids
     * @return 1表示发布成功,0表示发布失败
     */
    Result doExerciseGroupRealease(String[] exerciseGroupIds);
 
    /**
     * 撤回发布的题库
     *
     * @param exerciseGroupIds
     *             题库的Ids
     * @return 1表示撤回成功,0表示撤回失败失败
     */
    Result doExerciseGroupRevocation(String[] exerciseGroupIds);
 
    /**
     * 题库id  查询题库
     * @param exerciseGroupId
     * @return
     */
    ExerciseGroup queryExerciseGroupDetail(String exerciseGroupId);
 
 
    /**
     * 根据原题目组及类型复制题目
     * @param sourceGroup  原题库
     * @param targetGroup  目标题库
     * @param startOrder   复制的起始顺序号
     * @return    返回复制的题库题目数量
     * @throws Exception
     */
    public int doCopyExerciseGroupItem(ExerciseGroup sourceGroup, ExerciseGroup targetGroup,Short[] itemType,int startOrder) throws Exception;
 
    /**
     * 根据题目复制原题库题目到新题库
     * @param sourceGroup  原题库
     * @param targetGroup  目标题库
     * @param exerciseItemIds
     * @return
     */
    int doCopyExerciseGroupItem(ExerciseGroup sourceGroup, ExerciseGroup targetGroup, String[] exerciseItemIds,int startOrder) throws Exception;
 
    /**
     * 交换题库中的题目的位置顺序
     * @param paperGroupId
     * @param examItemId1
     * @param examIemId2
     * @return
     */
    Result doExchangeExamPaperGroupItemOrder(String paperGroupId, String examItemId1, String examIemId2);
 
    /**
     * 发布考试题库
     * @param groupIds
     * @return
     */
    Result doPublishExerciseLib(String[] groupIds);
 
 
    Result doRevokeExerciseLib(String[] groupIds);
 
    /**
     *
     * @param groupIds
     * @return
     */
 
    /**
     * 根据源题目组随机,生成新的题目组
     * @param sourceGroupIds  新题库名称
     * @param newGroupType    新题库类型
     * @param sourceGroupIds  源题库ID
     * @param lstExerciseItemSet  随机题目配置
     * @return string 返回新生成的题目组ID
     */
    String doCreateRandomExerciseGroup(String newGroupName,short newGroupType,String[] sourceGroupIds,List<ExerciseItemSet> lstExerciseItemSet);
 
    /**
     * 根据题库ID获取题库题目统计信息
     * @param groupIds
     * @return
     */
    List<ExerciseGroup> queryExerciseGroupItemsStatistic(String[] groupIds);
 
 
    /**
     * 根据groupIds按顺序返回名称数组
     * @param groupIds
     * @return
     */
    String[] queryGroupNamesByIds(String[] groupIds);
 
 
 
 
}