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.exam.vo.ExamScoreVO;
|
import org.springblade.modules.simulateexam.entity.SimulateExamRecord;
|
import org.springblade.modules.simulateexam.service.SimulateExamRecordService;
|
import org.springblade.modules.simulateexam.vo.SimulateExamRecordVO;
|
import org.springblade.modules.simulateexam.vo.SimulateExamScoreVO;
|
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));
|
}
|
|
/**
|
* 提交考试
|
*
|
* @param simulateExamScore 模拟考试成绩信息对象
|
* @return
|
*/
|
@PostMapping("/saveSimulateExam")
|
public R saveSimulateExam(@RequestBody SimulateExamScoreVO simulateExamScore) {
|
return R.data(simulateExamRecordService.saveSimulateExam(simulateExamScore));
|
}
|
}
|