luohairen
2024-11-07 027cde89bbd242f88c7d71ff602a12747b477ac5
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
package com.ycl.jxkg.service;
 
import com.ycl.jxkg.domain.entity.Exam;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ycl.jxkg.base.Result;
import com.ycl.jxkg.domain.form.AddTimeForm;
import com.ycl.jxkg.domain.form.ExamForm;
import com.ycl.jxkg.domain.form.ForceSubmitForm;
import com.ycl.jxkg.domain.query.ExamQuery;
import com.ycl.jxkg.domain.vo.ExamSubmitVO;
import com.ycl.jxkg.domain.vo.admin.exam.ExamPaperMarkVO;
import com.ycl.jxkg.domain.vo.StartExamVO;
 
import java.util.List;
 
/**
 * 考试 服务类
 *
 * @author xp
 * @since 2024-06-11
 */
public interface ExamService extends IService<Exam> {
 
    /**
     * 添加
     * @param form
     * @return
     */
    Result add(ExamForm form);
 
    /**
     * 修改
     * @param form
     * @return
     */
    Result update(ExamForm form);
 
    /**
     * 批量删除
     * @param ids
     * @return
     */
    Result remove(List<String> ids);
 
    /**
     * id删除
     * @param id
     * @return
     */
    Result removeById(String id);
 
    /**
     * 分页查询
     * @param query
     * @return
     */
    Result page(ExamQuery query);
 
    /**
     * 根据id查找
     * @param id
     * @return
     */
    Result detail(Integer id);
 
    /**
     * 列表
     * @return
     */
    Result all(ExamQuery query);
 
    /**
     * 主动提交试卷
     *
     * @param submitData
     * @return
     */
    Result examSubmit(StartExamVO submitData);
 
    /**
     * 定时保存试卷,防止考试崩溃
     *
     * @param submitData
     * @return
     */
    Result timingSubmit(StartExamVO submitData);
 
    /**
     * 获取阅卷信息
     *
     * @param id
     * @return
     */
    Result getMarkResultInfo(Integer id);
 
    /**
     * 学生端分页
     *
     * @param query
     * @return
     */
    Result studentPage(ExamQuery query);
 
    /**
     * 学生端开始考试
     *
     * @param id
     * @return
     */
    Result start(Integer id);
 
    /**
     * 获取某个人的答卷
     *
     * @param examId
     * @param userId
     * @return
     */
    Result getMarkPaperInfo(Integer examId, Integer userId);
 
    /**
     * 提交阅卷
     *
     * @param examPaperMark
     * @return
     */
    Result submitMarkPaper(ExamPaperMarkVO examPaperMark);
 
    /**
     * 根据考试id获取监控列表
     * @param query 考试id
     * @return 监控列表
     */
    Result monitorList(ExamQuery query);
 
    /**
     * 添加考试时间
     *
     * @param form
     * @return
     */
    Result addTime(AddTimeForm form);
 
    /**
     * 强制提交试卷
     *
     * @param form
     * @return
     */
    Result forceSubmit(ForceSubmitForm form);
 
 
    /**
     * 作废
     *
     * @param id
     * @return {@link Result }
     * @author
     */
    Result cancel(Integer id);
 
    /**
     * 恢复
     *
     * @param id
     * @return {@link Result }
     * @author
     */
    Result recover(Integer id);
}