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/simulateexam/service/impl/SimulateExamRecordServiceImpl.java | 194 ++++++++++++++++++++++++++++++++----------------
1 files changed, 128 insertions(+), 66 deletions(-)
diff --git a/src/main/java/org/springblade/modules/simulateexam/service/impl/SimulateExamRecordServiceImpl.java b/src/main/java/org/springblade/modules/simulateexam/service/impl/SimulateExamRecordServiceImpl.java
index 55d4293..c71e2da 100644
--- a/src/main/java/org/springblade/modules/simulateexam/service/impl/SimulateExamRecordServiceImpl.java
+++ b/src/main/java/org/springblade/modules/simulateexam/service/impl/SimulateExamRecordServiceImpl.java
@@ -27,6 +27,7 @@
import org.springblade.modules.system.vo.UserVO;
import org.springblade.modules.training.entity.TrainingRegistration;
import org.springblade.modules.vip.entity.VipTopic;
+import org.springblade.modules.vip.service.UserVipService;
import org.springblade.modules.vip.service.VipTopicService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -52,6 +53,9 @@
private VipTopicService vipTopicService;
@Autowired
+ private UserVipService userVipService;
+
+ @Autowired
private IUserService userService;
@Autowired
@@ -71,6 +75,88 @@
return page.setRecords(baseMapper.selectSimulateExamRecordPage(page, simulateExamRecord));
}
+// /**
+// * 首次点击开始考试,创建模拟考试,并返回考试
+// * @param simulateExamRecord 模拟考试记录对象信息
+// * @return
+// */
+// @Override
+// public Object insertSimulateExamRecord(SimulateExamRecord simulateExamRecord) {
+// //创建返回信息map
+// Map<String, Object> map = new HashMap<>();
+// //使用身份证号码匹配人员信息(user_id)
+// User user = new User();
+// user.setIsDeleted(0);
+// user.setStatus(1);
+// user.setCardid(simulateExamRecord.getIdCardNo());
+// List<User> list = userService.list(Condition.getQueryWrapper(user));
+// List<ExamSubjectChoicesVO> choicesVOList = new ArrayList<>();
+// boolean status = false;
+// if (list.size()>0){
+// User user1 = list.get(0);
+// //查询当前人员是否已缴费
+// VipTopic vipTopic = new VipTopic();
+// vipTopic.setUserId(user1.getId());
+// VipTopic topic = vipTopicService.getOne(Condition.getQueryWrapper(vipTopic));
+// //从当前人员考试题库随机取60题存入
+// if (null!=topic){
+// List<String> list1 = Arrays.asList(topic.getTopicIds().split(","));
+// //获取随机的题目
+// List<String> radio = list1.subList(0, 49);
+// List<String> checkbox = list1.subList(50, 69);
+// List<String> judge = list1.subList(70, 109);
+// List<String> sort = list1.subList(110, 119);
+// //随机题目
+// List<ExamSubjectChoicesVO> radioRandomSubjectList = examPaperService.queryRandomSubjectList(radio,25);
+// List<ExamSubjectChoicesVO> checkboxRandomSubjectList = examPaperService.queryRandomSubjectList(checkbox,10);
+// List<ExamSubjectChoicesVO> judgeRandomSubjectList = examPaperService.queryRandomSubjectList(judge,20);
+// List<ExamSubjectChoicesVO> sortRandomSubjectList = examPaperService.queryRandomSubjectList(sort,5);
+//
+// //合并集合数据
+// choicesVOList.addAll(radioRandomSubjectList);
+// choicesVOList.addAll(checkboxRandomSubjectList);
+// choicesVOList.addAll(judgeRandomSubjectList);
+// choicesVOList.addAll(sortRandomSubjectList);
+// }else {
+// //未缴费人员从大题库随机抽取100道题目
+// choicesVOList = examPaperService.simulateQueryRandomSubjectList();
+// }
+// //取出考试id
+// List<Long> longList = choicesVOList.stream().map(ExamSubjectChoicesVO::getId).collect(Collectors.toList());
+// //装换为字符串
+// List<String> list2 = new ArrayList<>();
+// for (Long aLong : longList) {
+// list2.add(aLong.toString());
+// }
+// String collect = list2.stream().collect(Collectors.joining(","));
+// //设置题目信息
+// simulateExamRecord.setSubjectIds(collect);
+// simulateExamRecord.setStartTime(new Date());
+// //考试剩余时长初始值为90分钟
+// simulateExamRecord.setAnswerTime(90*60*1000L);
+// //考试中,开始计时
+// simulateExamRecord.setStatus(1);
+// //新增模拟考试记录信息
+// status = this.save(simulateExamRecord);
+//
+//// ExamSubjectChoices examSubjectChoices = new ExamSubjectChoices();
+//// examSubjectChoices.setId(choicesVOList.get(0).getId());
+//// ExamSubjectChoicesVO examSubjectChoicesVO = examSubjectChoicesService.selectExamSubjectChoicesInfo(examSubjectChoices);
+// if (status){
+// map.put("simulateExamRecord",simulateExamRecord);
+// map.put("examSubjectInfo",choicesVOList);
+//// map.put("examSubjectChoicesVO",examSubjectChoicesVO);
+// //返回信息
+// return map;
+// }
+// }else {
+// throw new ServiceException("未查询到该人员信息");
+// }
+// //返回数据
+// return map;
+// }
+
+
/**
* 首次点击开始考试,创建模拟考试,并返回考试
* @param simulateExamRecord 模拟考试记录对象信息
@@ -78,75 +164,48 @@
*/
@Override
public Object insertSimulateExamRecord(SimulateExamRecord simulateExamRecord) {
- //创建返回信息map
+// //创建返回信息map
Map<String, Object> map = new HashMap<>();
- //使用身份证号码匹配人员信息(user_id)
- User user = new User();
- user.setIsDeleted(0);
- user.setStatus(1);
- user.setCardid(simulateExamRecord.getIdCardNo());
- List<User> list = userService.list(Condition.getQueryWrapper(user));
+// //使用身份证号码匹配人员信息(user_id)
+// User user = new User();
+// user.setIsDeleted(0);
+// user.setStatus(1);
+// user.setCardid(simulateExamRecord.getIdCardNo());
+// List<User> list = userService.list(Condition.getQueryWrapper(user));
List<ExamSubjectChoicesVO> choicesVOList = new ArrayList<>();
- if (list.size()>0){
- User user1 = list.get(0);
- //查询当前人员的考试题库,已缴费id
- VipTopic vipTopic = new VipTopic();
- vipTopic.setUserId(user1.getId());
- VipTopic topic = vipTopicService.getOne(Condition.getQueryWrapper(vipTopic));
- //从当前人员考试题库随机取60题存入
- if (null!=topic){
- List<String> list1 = Arrays.asList(topic.getTopicIds().split(","));
- //获取随机的题目
- List<String> radio = list1.subList(0, 49);
- List<String> checkbox = list1.subList(50, 69);
- List<String> judge = list1.subList(70, 109);
- List<String> sort = list1.subList(110, 119);
- //随机题目
- List<ExamSubjectChoicesVO> radioRandomSubjectList = examPaperService.queryRandomSubjectList(radio,25);
- List<ExamSubjectChoicesVO> checkboxRandomSubjectList = examPaperService.queryRandomSubjectList(checkbox,10);
- List<ExamSubjectChoicesVO> judgeRandomSubjectList = examPaperService.queryRandomSubjectList(judge,20);
- List<ExamSubjectChoicesVO> sortRandomSubjectList = examPaperService.queryRandomSubjectList(sort,5);
-
- //合并集合数据
- choicesVOList.addAll(radioRandomSubjectList);
- choicesVOList.addAll(checkboxRandomSubjectList);
- choicesVOList.addAll(judgeRandomSubjectList);
- choicesVOList.addAll(sortRandomSubjectList);
-
- //取出考试id
- List<Long> longList = choicesVOList.stream().map(ExamSubjectChoicesVO::getId).collect(Collectors.toList());
- //装换为字符串
- List<String> list2 = new ArrayList<>();
- for (Long aLong : longList) {
- list2.add(aLong.toString());
- }
- String collect = list2.stream().collect(Collectors.joining(","));
- //设置题目信息
- simulateExamRecord.setSubjectIds(collect);
- simulateExamRecord.setStartTime(new Date());
- //考试剩余时长初始值为60分钟
- simulateExamRecord.setAnswerTime(60*60*1000L);
- //考试中,开始计时
- simulateExamRecord.setStatus(1);
- //新增模拟考试记录信息
- boolean status = this.save(simulateExamRecord);
-
- ExamSubjectChoices examSubjectChoices = new ExamSubjectChoices();
- examSubjectChoices.setId(choicesVOList.get(0).getId());
- ExamSubjectChoicesVO examSubjectChoicesVO = examSubjectChoicesService.selectExamSubjectChoicesInfo(examSubjectChoices);
- if (status){
- map.put("simulateExamRecord",simulateExamRecord);
- map.put("examSubjectInfo",choicesVOList);
- map.put("examSubjectChoicesVO",examSubjectChoicesVO);
- //返回信息
- return map;
- }
- }else {
- throw new ServiceException("未查询到该人员缴费信息");
+ boolean status = false;
+// if (list.size()>0){
+// User user1 = list.get(0);
+ //从大题库随机抽取100道题目
+ choicesVOList = examPaperService.simulateQueryRandomSubjectList();
+ //取出考试id
+ List<Long> longList = choicesVOList.stream().map(ExamSubjectChoicesVO::getId).collect(Collectors.toList());
+ //装换为字符串
+ List<String> list2 = new ArrayList<>();
+ for (Long aLong : longList) {
+ list2.add(aLong.toString());
}
- }else {
- throw new ServiceException("未查询到该人员信息");
- }
+ String collect = list2.stream().collect(Collectors.joining(","));
+ //设置题目信息
+ simulateExamRecord.setSubjectIds(collect);
+ simulateExamRecord.setStartTime(new Date());
+ //考试剩余时长初始值为90分钟
+ simulateExamRecord.setAnswerTime(90*60*1000L);
+ //考试中,开始计时
+ simulateExamRecord.setStatus(1);
+ //新增模拟考试记录信息
+ status = this.save(simulateExamRecord);
+
+ if (status){
+ map.put("simulateExamRecord",simulateExamRecord);
+ map.put("examSubjectInfo",choicesVOList);
+// map.put("examSubjectChoicesVO",examSubjectChoicesVO);
+ //返回信息
+ return map;
+ }
+// }else {
+// throw new ServiceException("未查询到该人员信息");
+// }
//返回数据
return map;
}
@@ -279,6 +338,9 @@
}
//设置总分
simulateExamRecord.setScore(count);
+ // 考试完成
+ simulateExamRecord.setStatus(3);
+ simulateExamRecord.setEndTime(new Date());
//更新模拟考试信息
this.updateById(simulateExamRecord);
//返回
--
Gitblit v1.9.3