智慧保安后台管理-外网项目备份
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
package org.springblade.modules.simulateexam.controller;
 
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.exam.vo.ExamPaperVO;
import org.springblade.modules.simulateexam.entity.SimulateExamRecord;
import org.springblade.modules.simulateexam.service.SimulateExamRecordService;
import org.springblade.modules.simulateexam.vo.SimulateExamRecordVO;
import org.springframework.web.bind.annotation.*;
 
/**
 * 模拟考试记录控制器
 * @author zhongrj
 * @since 2022-02-23
 */
@RestController
@AllArgsConstructor
@RequestMapping("/simulateExamRecord")
public class SimulateExamRecordController extends BladeController {
 
    private final SimulateExamRecordService simulateExamRecordService;
 
    /**
     * 详情
     */
    @GetMapping("/detail")
    public R<SimulateExamRecord> detail(SimulateExamRecord simulateExamRecord) {
        SimulateExamRecord detail = simulateExamRecordService.getOne(Condition.getQueryWrapper(simulateExamRecord));
        return R.data(detail);
    }
 
    /**
     * 分页
     */
    @GetMapping("/list")
    public R<IPage<SimulateExamRecord>> list(SimulateExamRecord simulateExamRecord, Query query) {
        IPage<SimulateExamRecord> pages = simulateExamRecordService.page(Condition.getPage(query), Condition.getQueryWrapper(simulateExamRecord));
        return R.data(pages);
    }
 
    /**
     * 自定义分页
     */
    @GetMapping("/page")
    public R<IPage<SimulateExamRecordVO>> page(SimulateExamRecordVO simulateExamRecord, Query query) {
        IPage<SimulateExamRecordVO> pages = simulateExamRecordService.selectSimulateExamRecordPage(Condition.getPage(query), simulateExamRecord);
        return R.data(pages);
    }
 
    /**
     * 新增
     */
    @PostMapping("/save")
    public R save(@RequestBody SimulateExamRecord simulateExamRecord) {
        return R.data(simulateExamRecordService.save(simulateExamRecord));
    }
 
 
    /**
     * 修改
     */
    @PostMapping("/update")
    public R update(@RequestBody SimulateExamRecord simulateExamRecord) {
        return R.data(simulateExamRecordService.updateById(simulateExamRecord));
    }
 
    /**
     * 新增或修改
     */
    @PostMapping("/submit")
    public R submit(@RequestBody SimulateExamRecord simulateExamRecord) {
        return R.status(simulateExamRecordService.saveOrUpdate(simulateExamRecord));
    }
 
 
    /**
     * 删除
     */
    @PostMapping("/remove")
    public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
        return R.status(simulateExamRecordService.removeByIds(Func.toLongList(ids)));
    }
 
    /**
     * 首次点击开始考试,创建模拟考试
     * @param simulateExamRecord 模拟考试记录对象信息
     * @return
     */
    @PostMapping("/beginExam")
    public R beginExam(@RequestBody SimulateExamRecord simulateExamRecord) {
        return R.data(simulateExamRecordService.insertSimulateExamRecord(simulateExamRecord));
    }
 
    /**
     * 考试暂停后继续,1查询所有的答题信息,2查询所有的已答信息  3其他信息
     * @param simulateExamRecord 必须包含 模拟考试id, type 1: 继续考试  2: 放弃之前的考试,重新生成题目考试
     * @return
     */
    @GetMapping("/getSimulateExamRefreshInfo")
    public R getSimulateExamRefreshInfo(SimulateExamRecordVO simulateExamRecord){
        return R.data(simulateExamRecordService.getSimulateExamRefreshInfo(simulateExamRecord));
    }
 
    /**
     * 答题途中暂停考试
     * @param simulateExamRecord 模拟考试记录对象信息
     * @return
     */
    @PostMapping("/pauseExam")
    public R pauseExam(@RequestBody SimulateExamRecord simulateExamRecord) {
        return R.data(simulateExamRecordService.pauseExam(simulateExamRecord));
    }
 
    /**
     * 模拟考试开始页面,查询是否有暂停中的模拟考试
     * @param simulateExamRecord 模拟考试记录对象信息(必须包含 idCardNo)
     * @return
     */
    @GetMapping("/getSimulateExamRecordInfo")
    public R getSimulateExamRecordInfo(SimulateExamRecord simulateExamRecord) {
        return R.data(simulateExamRecordService.getSimulateExamRecordInfo(simulateExamRecord));
    }
 
}