From 5017255103ed5343ac41156dab9e61e6a34084f8 Mon Sep 17 00:00:00 2001 From: luotaiqian <1147642922@qq.com> Date: Tue, 25 Aug 2026 11:43:48 +0800 Subject: [PATCH] user paper exam --- .../cedu/controller/PaperExamController.java | 14 ++++++++++++++ .../org/qinan/cedu/service/PaperExamService.java | 9 +++++++++ .../cedu/service/impl/PaperExamServiceImpl.java | 16 ++++++++++++++++ 3 files changed, 39 insertions(+) diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/controller/PaperExamController.java b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/PaperExamController.java index 57af029d..f51f2aff 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/controller/PaperExamController.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/controller/PaperExamController.java @@ -3,17 +3,21 @@ package org.qinan.cedu.controller; import com.jjb.saas.framework.auth.utils.AuthContext; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; import lombok.RequiredArgsConstructor; import org.qinan.cedu.model.dto.AnswerQuestionDTO; import org.qinan.cedu.model.dto.StartExamDTO; import org.qinan.cedu.model.dto.SubmitExamDTO; +import org.qinan.cedu.model.vo.PaperExamInfoVO; import org.qinan.cedu.model.vo.StartExamVO; import org.qinan.cedu.service.PaperExamService; import org.qinan.safetyeval.client.dto.SingleResponse; import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; /** @@ -56,4 +60,14 @@ public class PaperExamController { paperExamService.submitExam(dto, AuthContext.getUserId()); return SingleResponse.success(); } + + /** + * 考试试卷信息查询:根据考试记录id查询试卷考试信息(含试题列表及参考答案) + */ + @ApiOperation("考试试卷信息查询") + @GetMapping("/exam/info") + public SingleResponse paperExamInfo(@RequestParam("paperExamId") @ApiParam(value = "考试试卷id", required = true) Long paperExamId) { + PaperExamInfoVO examInfo = paperExamService.paperExamInfo(paperExamId); + return SingleResponse.success(examInfo); + } } diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/service/PaperExamService.java b/safety-cedu-service/src/main/java/org/qinan/cedu/service/PaperExamService.java index 7856223a..794ed4e6 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/service/PaperExamService.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/service/PaperExamService.java @@ -8,6 +8,7 @@ import org.qinan.cedu.model.dto.PaperExamPageQueryDTO; import org.qinan.cedu.model.dto.StartExamDTO; import org.qinan.cedu.model.dto.SubmitExamDTO; import org.qinan.cedu.model.entity.PaperExamDO; +import org.qinan.cedu.model.vo.PaperExamInfoVO; import org.qinan.cedu.model.vo.PaperExamVO; import org.qinan.cedu.model.vo.StartExamVO; @@ -79,4 +80,12 @@ public interface PaperExamService extends IService { * @param userId 当前用户id */ void submitExam(SubmitExamDTO dto, Long userId); + + /** + * 查询考试试卷的试卷考试信息(含试题列表及参考答案) + * + * @param paperExamId 考试试卷id + * @return 试卷考试信息 + */ + PaperExamInfoVO paperExamInfo(Long paperExamId); } diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/PaperExamServiceImpl.java b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/PaperExamServiceImpl.java index a6269f6b..de2a25c9 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/PaperExamServiceImpl.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/PaperExamServiceImpl.java @@ -13,12 +13,14 @@ import org.qinan.cedu.enums.PaperExamStatusEnum; import org.qinan.cedu.mapper.*; import org.qinan.cedu.model.dto.*; import org.qinan.cedu.model.entity.*; +import org.qinan.cedu.model.vo.PaperExamInfoVO; import org.qinan.cedu.model.vo.PaperExamQuestionStatVO; import org.qinan.cedu.model.vo.PaperExamVO; import org.qinan.cedu.model.vo.StartExamQuestionVO; import org.qinan.cedu.model.vo.StartExamVO; import org.qinan.cedu.service.PaperExamQuestionUserService; import org.qinan.cedu.service.PaperExamService; +import org.qinan.cedu.service.PaperService; import org.qinan.safetyeval.domain.constant.BooleanQAEnum; import org.qinan.safetyeval.infrastructure.adapter.auth.AuthUserContextAdapter; import org.qinan.safetyeval.infrastructure.support.InsertFieldDefaults; @@ -56,6 +58,8 @@ public class PaperExamServiceImpl extends ServiceImpl pageQuery(PaperExamPageQueryDTO query) { return this.lambdaQuery() @@ -193,6 +197,18 @@ public class PaperExamServiceImpl extends ServiceImpl