| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- package com.ruoyi.web.controller.front;
- import com.ruoyi.common.core.domain.AjaxResult;
- import com.ruoyi.dz.service.IDzControlService;
- import com.ruoyi.enums.PaperType;
- import com.ruoyi.learn.domain.AnswerSheet;
- import com.ruoyi.system.service.ISysUserService;
- import com.ruoyi.web.service.ExamService;
- import com.ruoyi.web.service.PaperService;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import io.swagger.annotations.ApiParam;
- import org.springframework.web.bind.annotation.*;
- @RestController
- @RequestMapping("/front/exam")
- @Api(tags = "前台-学习-考试练习")
- public class FrontExamController {
- private final IDzControlService controlService;
- private final ISysUserService sysUserService;
- private final ExamService examService;
- private final PaperService paperService;
- public FrontExamController(IDzControlService controlService, ISysUserService sysUserService, ExamService examService, PaperService paperService) {
- this.controlService = controlService;
- this.sysUserService = sysUserService;
- this.examService = examService;
- this.paperService = paperService;
- }
- // 试卷: 真题卷,批次测试卷,自组卷, 生成考试记录
- // 定向模拟卷: 根据用户选择生成记录
- // 组卷: 知识点 错题 必刷题 实时组卷后才生成记录
- @ApiOperation("01 开卷")
- @PostMapping(value = "openExaminee")
- public AjaxResult openExaminee(@ApiParam("定向") @RequestParam(defaultValue = "false") boolean directed,
- @ApiParam("考卷类型PaperType") @RequestParam PaperType paperType,
- @ApiParam("考卷类型关联ID") @RequestParam Long relateId) {
- return AjaxResult.success(examService.openExaminee(directed, paperType, relateId));
- }
- @ApiOperation("04 开始考试")
- @GetMapping(value = "beginExaminee")
- public AjaxResult beginExaminee(@ApiParam("答卷ID") Long examineeId) {
- // 检查状态,以决定是否返回答案
- return AjaxResult.success(examService.loadExaminee(examineeId, true));
- }
- @ApiOperation("04 取答卷")
- @GetMapping(value = "loadExaminee")
- public AjaxResult loadExaminee(@ApiParam("答卷ID") Long examineeId) {
- // 检查状态,以决定是否返回答案
- return AjaxResult.success(examService.loadExaminee(examineeId, false));
- }
- @ApiOperation("02 交卷")
- @PostMapping(value = "commitExamineePaper")
- public AjaxResult commitExamineePaper(@RequestBody AnswerSheet answerSheet) {
- if(null == answerSheet.getIsDone()) {
- answerSheet.setIsDone(false);
- }
- examService.commitAnswerSheet(answerSheet);
- return AjaxResult.success();
- }
- /*@ApiOperation("02 答题")
- @PostMapping(value = "commitExamineeQuestion")
- public AjaxResult commitExamineeQuestion(@RequestBody PaperDto paperDto) {
- return adminExaminationService.saveQuestion(paperDto);
- }
- @ApiOperation("04 阅卷打分")
- @PostMapping(value = "scoreExamineeQuestions")
- public AjaxResult scoreExamineeQuestions(@RequestBody PaperDto paperDto) {
- if (MxjbContants.ExamineeTypeIeValue.equals(paperDto.getExamineeType())) {
- return mxjbPaperExamService.scoreExamineeQuestion(paperDto, true);
- }
- return AjaxResult.error("不支持: " + paperDto.getExamineeType());
- }
- @ApiOperation("05 阅卷结束")
- @PostMapping(value = "scoreFinish")
- public AjaxResult scoreFinish(
- @ApiParam("考生答卷Id") @RequestParam Long examineeId,
- @ApiParam("考生类型 1是测评evaluation(default),2是竞赛competitor 3 ai 5 homework 6 ie") @RequestParam(required = false, defaultValue = "1") Integer examineeType) {
- if (MxjbContants.ExamineeTypeIeValue.equals(examineeType)) {
- return mxjbPaperExamService.scoreFinish(examineeId);
- }
- return AjaxResult.error("不支持: " + examineeType);
- }
- @ApiOperation("06 查看题")
- @GetMapping(value = "openQuestion")
- public QuestionDto openQuestion(@ApiParam("考生答卷Id") @RequestParam Long examineeId, @ApiParam("考生试题ID") @RequestParam Long questionId,
- @ApiParam("考生类型 1是测评evaluation(default),2是竞赛competitor 3 ai 5 homework 6 ie") @RequestParam(required = false, defaultValue = "1") Integer examineeType) {
- LoginUser loginUser = SecurityUtils.getLoginUser();
- if (MxjbContants.ExamineeTypeIeValue.equals(examineeType)) {
- return mxjbPaperExamService.openQuestion(examineeId, loginUser.getUser().getUserId(), questionId);
- }
- return new QuestionDto();
- }
- */
- }
|