baizonghao
2023-07-31 98b2f41e13c48219e054cf8b80c459298a01c910
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
package com.mindskip.xzs.service;
 
import com.mindskip.xzs.domain.ExamPaper;
import com.mindskip.xzs.domain.ExamPaperClasses;
import com.mindskip.xzs.domain.User;
import com.mindskip.xzs.domain.exam.ExamClassShortInfo;
import com.mindskip.xzs.domain.other.KeyValue;
import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperEditRequestVM;
import com.mindskip.xzs.viewmodel.admin.exam.ExamPaperPageRequestVM;
import com.mindskip.xzs.viewmodel.student.dashboard.PaperFilter;
import com.mindskip.xzs.viewmodel.student.dashboard.PaperInfo;
import com.mindskip.xzs.viewmodel.student.exam.ExamPaperPageVM;
import com.github.pagehelper.PageInfo;
 
import java.util.List;
 
/**
 * @version 2.2.0
 * @description: 试卷
 * Copyright (C), 2020-2021, 武汉思维跳跃科技有限公司
 * @date 2021 /9/7 9:45
 */
public interface ExamPaperService extends BaseService<ExamPaper> {
 
    /**
     * 试卷分页
     *
     * @param requestVM the request vm
     * @return the page info
     */
    PageInfo<ExamPaper> page(ExamPaperPageRequestVM requestVM);
 
    /**
     * 管理端试卷分页
     *
     * @param requestVM the request vm
     * @return the page info
     */
    PageInfo<ExamPaper> adminPage(ExamPaperPageRequestVM requestVM);
 
    /**
     * 任务试卷分页
     *
     * @param requestVM the request vm
     * @return the page info
     */
    PageInfo<ExamPaper> taskExamPage(ExamPaperPageRequestVM requestVM);
 
    /**
     * 学生端试卷分页
     *
     * @param requestVM the request vm
     * @return the page info
     */
    PageInfo<ExamPaper> studentPage(ExamPaperPageVM requestVM);
 
    /**
     * 班级试卷分页
     *
     * @param requestVM the request vm
     * @return the page info
     */
    PageInfo<ExamPaper> studentClassesPage(ExamPaperPageVM requestVM);
 
    /**
     * 试卷编辑
     *
     * @param examPaperEditRequestVM the exam paper edit request vm
     * @param user                   the user
     * @return the exam paper
     */
    ExamPaper savePaperFromVM(ExamPaperEditRequestVM examPaperEditRequestVM, User user);
 
    /**
     * 试卷查询
     *
     * @param id the id
     * @return the exam paper edit request vm
     */
    ExamPaperEditRequestVM examPaperToVM(Integer id);
 
    /**
     * 首页试卷
     *
     * @param paperFilter the paper filter
     * @return the list
     */
    List<PaperInfo> indexPaper(PaperFilter paperFilter);
 
    /**
     * 班级试卷
     *
     * @param cIds the c ids
     * @return the list
     */
    List<ExamClassShortInfo> classesPaper(List<Integer> cIds);
 
    /**
     * 查询所有试卷数量
     *
     * @return the integer
     */
    Integer selectAllCount();
 
    /**
     * 查询月时间数量
     *
     * @return the list
     */
    List<Integer> selectMothCount();
 
    /**
     * 根据试卷id获取班级试卷
     *
     * @param paperId the paper id
     * @return the exam paper classes by paper id
     */
    List<ExamPaperClasses> getExamPaperClassesByPaperId(Integer paperId);
 
    /**
     * 获取班级试卷数量
     *
     * @param classIds the class ids
     * @return the paper class count
     */
    List<KeyValue> getPaperClassCount(List<Integer> classIds);
 
    /**
     * 智能训练试卷数量
     *
     * @param userId the user id
     * @return the random paper count
     */
    Integer getRandomPaperCount(Integer userId);
}