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/ExamSubjectChoicesServiceImpl.java |   93 ++++++++++++++++++++++++++++++----------------
 1 files changed, 60 insertions(+), 33 deletions(-)

diff --git a/src/main/java/org/springblade/modules/exam/service/impl/ExamSubjectChoicesServiceImpl.java b/src/main/java/org/springblade/modules/exam/service/impl/ExamSubjectChoicesServiceImpl.java
index 24c8ff8..92b779a 100644
--- a/src/main/java/org/springblade/modules/exam/service/impl/ExamSubjectChoicesServiceImpl.java
+++ b/src/main/java/org/springblade/modules/exam/service/impl/ExamSubjectChoicesServiceImpl.java
@@ -1,6 +1,7 @@
 
 package org.springblade.modules.exam.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springblade.modules.FTP.FtpUtil;
@@ -371,40 +372,66 @@
 	 * @param result       答题是否正确
 	 */
 	private void saveExamAns(ExamSubjectChoices choices, Long preSubJectId, String preResult, Long scoreId, boolean result) {
-		ExamAnswerRecord examAnswerRecord = new ExamAnswerRecord();
-		examAnswerRecord.setScoreId(scoreId);
-		examAnswerRecord.setAnswerOption(preResult);
-		examAnswerRecord.setSubjectChoicesId(preSubJectId);
-		examAnswerRecord.setAnswer(choices.getAnswer());
-		examAnswerRecord.setSubjectChoicesType(choices.getChoicesType());
-		examAnswerRecord.setAnswerTime(new Date());
-		int status = 0;
-		//判断题逻辑
-		if (result) {
-			status = 1;
-			examAnswerRecord.setAnswerScore(choices.getScore());
-		} else {
-			status = 2;
-			examAnswerRecord.setAnswerScore(0);
-		}
-		examAnswerRecord.setAnswerResult(status);
-		//新增
-		examAnswerRecordService.save(examAnswerRecord);
+		// 判断是否修改了答案
+		QueryWrapper<ExamAnswerRecord> wrapper = new QueryWrapper<>();
+		wrapper.eq("score_id",scoreId)
+			.eq("subject_choices_id",preSubJectId);
+		ExamAnswerRecord one = examAnswerRecordService.getOne(wrapper);
+		if (null!=one){
+			// 更新
+			one.setAnswerOption(preResult);
+			one.setAnswer(choices.getAnswer());
+			one.setSubjectChoicesType(choices.getChoicesType());
+			one.setAnswerTime(new Date());
+			int status = 0;
+			//判断题逻辑
+			if (result) {
+				status = 1;
+				one.setAnswerScore(choices.getScore());
+			} else {
+				status = 2;
+				one.setAnswerScore(0);
+			}
+			one.setAnswerResult(status);
+			//修改
+			examAnswerRecordService.updateById(one);
+		}else {
 
-		//内网数据同步...
-		String s = "insert into exam_answer_record(id,subject_choices_id,subject_choices_type,answer_option,answer" +
-			",answer_time,answer_score,answer_result,score_id) " +
-			"values(" + "'" + examAnswerRecord.getId() + "'" +
-			"," + "'" + examAnswerRecord.getSubjectChoicesId() + "'" +
-			"," + "'" + examAnswerRecord.getSubjectChoicesType() + "'" +
-			"," + "'" + examAnswerRecord.getAnswerOption() + "'" +
-			"," + "'" + examAnswerRecord.getAnswer() + "'" +
-			"," + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(examAnswerRecord.getAnswerTime()) + "'" +
-			"," + "'" + examAnswerRecord.getAnswerScore() + "'" +
-			"," + "'" + examAnswerRecord.getAnswerResult() + "'" +
-			"," + "'" + examAnswerRecord.getScoreId() + "'" + ")";
-		//FtpUtil.sqlFileUpload(s);
-		myAsyncService.dataSync(s);
+			ExamAnswerRecord examAnswerRecord = new ExamAnswerRecord();
+			examAnswerRecord.setScoreId(scoreId);
+			examAnswerRecord.setAnswerOption(preResult);
+			examAnswerRecord.setSubjectChoicesId(preSubJectId);
+			examAnswerRecord.setAnswer(choices.getAnswer());
+			examAnswerRecord.setSubjectChoicesType(choices.getChoicesType());
+			examAnswerRecord.setAnswerTime(new Date());
+			int status = 0;
+			//判断题逻辑
+			if (result) {
+				status = 1;
+				examAnswerRecord.setAnswerScore(choices.getScore());
+			} else {
+				status = 2;
+				examAnswerRecord.setAnswerScore(0);
+			}
+			examAnswerRecord.setAnswerResult(status);
+			//新增
+			examAnswerRecordService.save(examAnswerRecord);
+//
+//			//内网数据同步...
+//			String s = "insert into exam_answer_record(id,subject_choices_id,subject_choices_type,answer_option,answer" +
+//				",answer_time,answer_score,answer_result,score_id) " +
+//				"values(" + "'" + examAnswerRecord.getId() + "'" +
+//				"," + "'" + examAnswerRecord.getSubjectChoicesId() + "'" +
+//				"," + "'" + examAnswerRecord.getSubjectChoicesType() + "'" +
+//				"," + "'" + examAnswerRecord.getAnswerOption() + "'" +
+//				"," + "'" + examAnswerRecord.getAnswer() + "'" +
+//				"," + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(examAnswerRecord.getAnswerTime()) + "'" +
+//				"," + "'" + examAnswerRecord.getAnswerScore() + "'" +
+//				"," + "'" + examAnswerRecord.getAnswerResult() + "'" +
+//				"," + "'" + examAnswerRecord.getScoreId() + "'" + ")";
+//			//FtpUtil.sqlFileUpload(s);
+//			myAsyncService.dataSync(s);
+		}
 	}
 
 	/**

--
Gitblit v1.9.3