From c5b38a50819d7ac782a4379bd9eda890d7d119a8 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期三, 26 六月 2024 15:47:51 +0800 Subject: [PATCH] 班级、试卷、开始考试优化 --- src/main/java/com/ycl/jxkg/service/ClassesService.java | 9 ++++++++- src/main/resources/mapper/QuestionMapper.xml | 2 +- src/main/java/com/ycl/jxkg/controller/admin/ClassesController.java | 7 +++++++ src/main/java/com/ycl/jxkg/service/impl/ClassesServiceImpl.java | 9 +++++++++ src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java | 10 ++++++++++ 5 files changed, 35 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/ycl/jxkg/controller/admin/ClassesController.java b/src/main/java/com/ycl/jxkg/controller/admin/ClassesController.java index 875b882..90336bf 100644 --- a/src/main/java/com/ycl/jxkg/controller/admin/ClassesController.java +++ b/src/main/java/com/ycl/jxkg/controller/admin/ClassesController.java @@ -72,6 +72,13 @@ return classesService.dissolution(id); } + @PutMapping("/recover/{id}") + @ApiOperation(value = "鎭㈠姝e父", notes = "鎭㈠姝e父") + @PreAuthorize("hasAuthority('classes:recover')") + public Result recover(@PathVariable("id") Integer id) { + return classesService.recover(id); + } + @GetMapping("/{id}") @ApiOperation(value = "璇︽儏", notes = "璇︽儏") @PreAuthorize("hasAuthority('classes:detail')") diff --git a/src/main/java/com/ycl/jxkg/service/ClassesService.java b/src/main/java/com/ycl/jxkg/service/ClassesService.java index 4e38880..fb42511 100644 --- a/src/main/java/com/ycl/jxkg/service/ClassesService.java +++ b/src/main/java/com/ycl/jxkg/service/ClassesService.java @@ -80,10 +80,17 @@ Result dissolution(Integer id); /** - * * 鎴戠殑鐝骇 * * @return */ Result myClassList(); + + /** + * 鎭㈠姝e父 + * + * @param id + * @return + */ + Result recover(Integer id); } diff --git a/src/main/java/com/ycl/jxkg/service/impl/ClassesServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/ClassesServiceImpl.java index d4b08a9..2f06ffd 100644 --- a/src/main/java/com/ycl/jxkg/service/impl/ClassesServiceImpl.java +++ b/src/main/java/com/ycl/jxkg/service/impl/ClassesServiceImpl.java @@ -144,4 +144,13 @@ .list(); return Result.ok(list); } + + @Override + public Result recover(Integer id) { + new LambdaUpdateChainWrapper<>(baseMapper) + .eq(Classes::getId, id) + .set(Classes::getStatus, ClassesStatusEnum.NORMAL) + .update(); + return Result.ok("鐝骇宸茬粡鎭㈠姝e父"); + } } diff --git a/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java index 04194a2..f677a78 100644 --- a/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java +++ b/src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java @@ -25,6 +25,7 @@ import lombok.RequiredArgsConstructor; import com.ycl.jxkg.utils.PageUtil; import org.springframework.beans.BeanUtils; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.Assert; import org.springframework.util.StringUtils; @@ -138,6 +139,7 @@ @Override + @Transactional(rollbackFor = Exception.class) public Result start(Integer id) { Exam exam = baseMapper.selectById(id); if (Objects.isNull(exam)) { @@ -201,6 +203,14 @@ paperFixQuestionVO.setQuestionList(childQuestions); examData.add(paperFixQuestionVO); } + ExamSubmitTemp examSubmitTemp = new ExamSubmitTemp(); + examSubmitTemp.setExamId(id); + examSubmitTemp.setStatus(ExamSubmitTempStatusEnum.TEMP); + examSubmitTemp.setExamSubmit(JSON.toJSONString(examData)); + examSubmitTemp.setCreateTime(new Date()); + examSubmitTemp.setUserId(webContext.getCurrentUser().getId()); + examSubmitTemp.setMarkPaperStatus(ExamSubmitTempStatusEnum.TEMP); + examSubmitTempMapper.insert(examSubmitTemp); return Result.ok(examData); } return Result.ok(); diff --git a/src/main/resources/mapper/QuestionMapper.xml b/src/main/resources/mapper/QuestionMapper.xml index 074a926..02a1ed2 100644 --- a/src/main/resources/mapper/QuestionMapper.xml +++ b/src/main/resources/mapper/QuestionMapper.xml @@ -112,7 +112,7 @@ FROM t_question tq WHERE - tq.subject_id = #{subjectId} + tq.subject_id = #{subjectId} AND tq.question_type = #{questionType} AND tq.deleted = 0 ORDER BY RAND() LIMIT #{num} -- Gitblit v1.8.0