派生自 projectDept/qhighschool

EricsHu
2023-11-25 79ab2cbd31c022916a8e696903d5eb34b70aa403
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
package com.qxueyou.scc.admin.classes.service;
 
import java.util.Date;
import java.util.List;
import java.util.Map;
 
import com.qxueyou.scc.admin.classes.model.ClsClass;
import com.qxueyou.scc.base.model.Pager;
import com.qxueyou.scc.base.model.Result;
 
/**
 * 班级管理服务层
 *
 * @author chenjunliang
 */
public interface IClassService {
 
    /**
     * 新增班级
     *
     * @param course
     * @return
     */
    Result insertClass(String className, String classNumber, Date startTime, Date endTime, String subjectId,
                       String teacherId,String chargeClassName);
 
    /**
     *
     *新增补考分组
     * @param classTypes
     * @return
     */
    Result insertReClass(String className, String classNumber, Date startTime, Date endTime, String subjectId,
                         String teacherId,String classTypes);
    /**
     * 修改班级
     *
     * @param course
     * @return
     */
    Result updateClass(String classId, String className, String classNumber, Date startTime, Date endTime,
                       String subjectId, boolean needJoinAudit, boolean needQuitAudit, boolean showAnalysisAfterExer,
                       boolean canMultiExer, boolean needForum, String teacherId, String chargeClassName);
 
    /**
     * 获取班级列表
     *
     * @return
     */
    List<ClsClass> getClassLst(String keyword, String teacherId, Integer pageSize, Integer pageNum, Integer pageType);
 
    /**
     * 获取班级列表数量
     *
     * @return
     */
    int getClassLstCount(String keyword, String teacherId, Integer pageType);
 
    /**
     * @return
     */
    List<ClsClass> listMyClass();
 
    /**
     * 获取班级考试、作业等活动信息
     *
     * @return
     */
    Map<String, Object> getClassActivityInfo(String classId);
 
    /**
     * 获取班级详情
     *
     * @return
     */
    ClsClass read(String classId);
 
    /**
     * 删除班级
     *
     * @param classIds
     * @return
     */
    Result deleteClass(String[] classIds);
 
    /**
     * 新增学生
     *
     * @param count 学生数量
     * @return
     */
    Result addStudent(String classId, int count);
 
    /**
     * 获取个人已加入班级的课程及学习情况
     *
     * @param classId
     * @return
     */
    List<Map<String, Object>> getSubjectLstByClsId(String classId);
 
    Result getAllClassLst();
 
    /**
     * 老师获取班级列表
     */
    List<ClsClass> getClassLstByTeacherId();
 
    /**
     * 查询老师或管理员可用的班级ID和名称列表
     * @param teacherId  根据教师ID过滤
     * @param subjectId  根据课程ID过滤
     * @return
     */
    List<Map<String, Object>> queryAvailableClassIdAndName(String teacherId,String subjectId);
 
    /**
     * app教师端班级列表
     *
     * @param keyword
     * @param limit
     * @param pageNum
     * @return
     */
    Result classList(String keyword, Pager pager, int type);
 
    /**
     * 根据班级ID获取班级名字,顺序与传入的id顺序一致
     * @param classIds
     * @return
     */
    String [] queryClassNamesByIds(String[] classIds);
 
    /**
     * 根据用户ID查询所用户加入的班级
     * @param userId
     * @return
     */
    List<ClsClass> queryStudentClassesByUserId(String userId);
 
    /**
     * 查询所有班级信息
     * @return
     */
    List<Map<String, Object>> queryAllClassIdAndName();
 
    ClsClass getReClass(String classTypes);
 
    List<ClsClass> getTeacherClassLst(String teacherId);
}