From 62eb499b0c969f246d3245d1429a97da4de1ce28 Mon Sep 17 00:00:00 2001
From: 钟日健 <arsn163@163.com>
Date: Mon, 01 Jun 2026 20:46:13 +0800
Subject: [PATCH] feat: 成绩查询增加年龄查询返回

---
 src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java |   51 ++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 40 insertions(+), 11 deletions(-)

diff --git a/src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java b/src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java
index b3c5010..cda1fa8 100644
--- a/src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java
+++ b/src/main/java/org/springblade/modules/exam/service/impl/ExamPaperServiceImpl.java
@@ -206,8 +206,6 @@
 			});
 			//批量新增
 			baseMapper.insertBatch(list);
-//			long after = System.currentTimeMillis();
-//			System.out.println("时间差"+(after-before));
 			//新增试卷关联信息
 			return examSubjectChoicesVOS;
 		}
@@ -299,23 +297,44 @@
 			Map<String, Object> map = new HashMap<>(4);
 			//1.查询当前人员当前考试的考试题目信息
 			List<ExamSubjectChoicesVO> examSubjectChoicesVOSList = baseMapper.getExaminationSubjectList(examPaperVO);
-
+			if (examSubjectChoicesVOSList.size()==0) {
+				examSubjectChoicesVOSList = baseMapper.queryRandomSubject(null);
+				List<ExamExaminationSubject> list = new ArrayList<>();
+				examSubjectChoicesVOSList.forEach(examSubjectChoicesVO -> {
+					//新增个人对应每场考试成绩试卷
+					ExamExaminationSubject ksxtSginup = new ExamExaminationSubject();
+					ksxtSginup.setExaminationId(examPaperVO.getScoreId());
+					ksxtSginup.setCategoryId(examSubjectChoicesVO.getChoicesType());
+					ksxtSginup.setSubjectId(examSubjectChoicesVO.getId());
+					//新增
+					list.add(ksxtSginup);
+					//将题目答案设置为空字符串,不让前端看到
+					examSubjectChoicesVO.setAnswer("");
+				});
+				//批量新增
+				baseMapper.insertBatch(list);
+			}
 			//2.查询当前人员已答的题目信息
 			ExamAnswerRecord examAnswerRecord = new ExamAnswerRecord();
 			examAnswerRecord.setScoreId(examPaperVO.getScoreId());
 			List<ExamAnswerRecord> examAnswerRecordList = examAnswerRecordService.list(Condition.getQueryWrapper(examAnswerRecord));
 
 			//3.查询正在答题的信息
-			int count  = examAnswerRecordList.size();
+			int count = examAnswerRecordList.size();
 			//查询下一题题目信息
 			ExamSubjectChoicesVO examSubjectChoicesVO = new ExamSubjectChoicesVO();
 			ExamSubjectChoices examSubjectChoices = new ExamSubjectChoices();
-			if (count>0) {
+			if (count == 0) {
+				examSubjectChoices.setId(examSubjectChoicesVOSList.get(0).getId());
+				examSubjectChoicesVO = examSubjectChoicesService.selectExamSubjectChoicesInfo(examSubjectChoices);
+			}
+			if (count > 0 && count<100) {
 				examSubjectChoices.setId(examSubjectChoicesVOSList.get(count).getId());
 				examSubjectChoicesVO = examSubjectChoicesService.selectExamSubjectChoicesInfo(examSubjectChoices);
 			}
-			if (count==0) {
-				examSubjectChoices.setId(examSubjectChoicesVOSList.get(0).getId());
+			if (count == 100) {
+				// 查最后一道题信息
+				examSubjectChoices.setId(examSubjectChoicesVOSList.get(99).getId());
 				examSubjectChoicesVO = examSubjectChoicesService.selectExamSubjectChoicesInfo(examSubjectChoices);
 			}
 
@@ -323,10 +342,10 @@
 			ExamScore examScore = examScoreService.getById(examPaperVO.getScoreId());
 
 			//5.数据封装
-			map.put("examSubjectChoicesVOSList",examSubjectChoicesVOSList);
-			map.put("examAnswerRecordList",examAnswerRecordList);
-			map.put("examSubjectChoicesVO",examSubjectChoicesVO);
-			map.put("examScore",examScore);
+			map.put("examSubjectChoicesVOSList", examSubjectChoicesVOSList);
+			map.put("examAnswerRecordList", examAnswerRecordList);
+			map.put("examSubjectChoicesVO", examSubjectChoicesVO);
+			map.put("examScore", examScore);
 
 			//6.返回数据
 			return map;
@@ -420,4 +439,14 @@
 	public List<ExamSubjectChoicesVO> simulateQueryRandomSubjectList() {
 		return baseMapper.simulateQueryRandomSubjectList();
 	}
+
+	@Override
+	public List<ExamPaperVO> getList(ExamPaperVO examPaperVO) {
+		return baseMapper.getList(examPaperVO);
+	}
+
+	@Override
+	public ExamPaperVO getLatest(ExamPaperVO examPaperVO) {
+		return baseMapper.getLatest(examPaperVO);
+	}
 }

--
Gitblit v1.9.3