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 detail(SimulateExamRecord simulateExamRecord) { SimulateExamRecord detail = simulateExamRecordService.getOne(Condition.getQueryWrapper(simulateExamRecord)); return R.data(detail); } /** * 分页 */ @GetMapping("/list") public R> list(SimulateExamRecord simulateExamRecord, Query query) { IPage pages = simulateExamRecordService.page(Condition.getPage(query), Condition.getQueryWrapper(simulateExamRecord)); return R.data(pages); } /** * 自定义分页 */ @GetMapping("/page") public R> page(SimulateExamRecordVO simulateExamRecord, Query query) { IPage 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)); } }