diff --git a/src/main/java/com/example/exam/exam/mapper/ExamQuestionAnswerMapper.java b/src/main/java/com/example/exam/exam/mapper/ExamQuestionAnswerMapper.java index a868962..87dcf41 100644 --- a/src/main/java/com/example/exam/exam/mapper/ExamQuestionAnswerMapper.java +++ b/src/main/java/com/example/exam/exam/mapper/ExamQuestionAnswerMapper.java @@ -1,9 +1,11 @@ package com.example.exam.exam.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.example.exam.exam.dal.ExamQuestion; import com.example.exam.exam.dal.ExamQuestionAnswer; import com.example.exam.exam.dal.ExamPsKeyword; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; diff --git a/src/main/java/com/example/exam/exam/mapper/ExamQuestionMapper.java b/src/main/java/com/example/exam/exam/mapper/ExamQuestionMapper.java index fd22086..931369d 100644 --- a/src/main/java/com/example/exam/exam/mapper/ExamQuestionMapper.java +++ b/src/main/java/com/example/exam/exam/mapper/ExamQuestionMapper.java @@ -3,6 +3,7 @@ package com.example.exam.exam.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.example.exam.exam.dal.ExamQuestion; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -24,7 +25,7 @@ public interface ExamQuestionMapper extends BaseMapper */ public ExamQuestion selectExamQuestionByQuId(String quId); - + ExamQuestion selectExamQuestionByQuNumber(@Param("quNumber") String quNumber); } diff --git a/src/main/java/com/example/exam/exam/service/autoforbrower/AutoForBrowerServiceImpl.java b/src/main/java/com/example/exam/exam/service/autoforbrower/AutoForBrowerServiceImpl.java index 7f7cb5d..fe6d217 100644 --- a/src/main/java/com/example/exam/exam/service/autoforbrower/AutoForBrowerServiceImpl.java +++ b/src/main/java/com/example/exam/exam/service/autoforbrower/AutoForBrowerServiceImpl.java @@ -58,8 +58,10 @@ public class AutoForBrowerServiceImpl implements AutoForBrowerService { File[] txFileList = txFile.listFiles(); for (File stFile : txFileList) { // 获取试题编号和试题ID - String quId = stFile.getName().split("@")[1]; - String quNumber = stFile.getName().split("@")[0]; + String quNumber = stFile.getName(); + // 需要根据题号获取试题ID + ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuNumber(quNumber); + String quId = examQuestion.getQuId(); File[] wjFiles = stFile.listFiles(); for (File wjFile : wjFiles) { if ("文件".equals(wjFile.getName())) { @@ -70,7 +72,6 @@ public class AutoForBrowerServiceImpl implements AutoForBrowerService { EducationPaperScheme educationPaperScheme = result.get(); EducationPaperQu educationPaperQu = results.get(); String quScore = educationPaperScheme.getQuScores(); - ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuId(quId); String judgementStr = "

-----------------------------------------------------------

"; judgementStr += "

试题序号:" + educationPaperQu.getSort() + "

"; judgementStr += "

试题编号:" + examQuestion.getQuNum() + "

"; diff --git a/src/main/java/com/example/exam/exam/service/autoforc/AutoForCServiceImpl.java b/src/main/java/com/example/exam/exam/service/autoforc/AutoForCServiceImpl.java index 02a028e..022783b 100644 --- a/src/main/java/com/example/exam/exam/service/autoforc/AutoForCServiceImpl.java +++ b/src/main/java/com/example/exam/exam/service/autoforc/AutoForCServiceImpl.java @@ -56,8 +56,10 @@ public class AutoForCServiceImpl implements AutoForCService { File[] txFileList = txFile.listFiles(); for (File stFile : txFileList) { // 获取试题编号和试题ID - String quId = stFile.getName().split("@")[1]; - String quNumber = stFile.getName().split("@")[0]; + String quNumber = stFile.getName(); + // 需要根据题号获取试题ID + ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuNumber(quNumber); + String quId = examQuestion.getQuId(); File[] wjFiles = stFile.listFiles(); for (File wjFile : wjFiles) { if ("文件".equals(wjFile.getName())) { @@ -67,7 +69,6 @@ public class AutoForCServiceImpl implements AutoForCService { EducationPaperScheme educationPaperScheme = result.get(); EducationPaperQu educationPaperQu = results.get(); String quScore = educationPaperScheme.getQuScores(); - ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuId(quId); File[] lastFiles = wjFile.listFiles(); for (File lastFile : lastFiles) { System.out.println(lastFile); diff --git a/src/main/java/com/example/exam/exam/service/autoforfile/AutoForFileServiceImpl.java b/src/main/java/com/example/exam/exam/service/autoforfile/AutoForFileServiceImpl.java index c340552..78e7340 100644 --- a/src/main/java/com/example/exam/exam/service/autoforfile/AutoForFileServiceImpl.java +++ b/src/main/java/com/example/exam/exam/service/autoforfile/AutoForFileServiceImpl.java @@ -64,8 +64,11 @@ public class AutoForFileServiceImpl implements AutoForFileService { File[] txFileList = txFile.listFiles(); for (File stFile : txFileList) { // 获取试题编号和试题ID - String quId = stFile.getName().split("@")[1]; - String quNumber = stFile.getName().split("@")[0]; + // 获取试题编号和试题ID + String quNumber = stFile.getName(); + // 需要根据题号获取试题ID + ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuNumber(quNumber); + String quId = examQuestion.getQuId(); File[] wjFiles = stFile.listFiles(); for (File wjFile : wjFiles) { if ("文件".equals(wjFile.getName())) { @@ -76,7 +79,6 @@ public class AutoForFileServiceImpl implements AutoForFileService { EducationPaperScheme educationPaperScheme = result.get(); EducationPaperQu educationPaperQu = results.get(); String quScore = educationPaperScheme.getQuScores(); - ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuId(quId); String judgementStr = "

-----------------------------------------------------------

"; judgementStr += "

试题序号:" + educationPaperQu.getSort() + "

"; judgementStr += "

试题编号:" + examQuestion.getQuNum() + "

"; diff --git a/src/main/java/com/example/exam/exam/service/autoformysql/AutoForMysqlServiceImpl.java b/src/main/java/com/example/exam/exam/service/autoformysql/AutoForMysqlServiceImpl.java index 6b76aa5..7f2b306 100644 --- a/src/main/java/com/example/exam/exam/service/autoformysql/AutoForMysqlServiceImpl.java +++ b/src/main/java/com/example/exam/exam/service/autoformysql/AutoForMysqlServiceImpl.java @@ -58,8 +58,11 @@ public class AutoForMysqlServiceImpl implements AutoForMysqlService { File[] txFileList = txFile.listFiles(); for (File stFile : txFileList) { // 获取试题编号和试题ID - String quId = stFile.getName().split("@")[1]; - String quNumber = stFile.getName().split("@")[0]; + // 获取试题编号和试题ID + String quNumber = stFile.getName(); + // 需要根据题号获取试题ID + ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuNumber(quNumber); + String quId = examQuestion.getQuId(); File[] wjFiles = stFile.listFiles(); for (File wjFile : wjFiles) { if ("文件".equals(wjFile.getName())) { @@ -70,7 +73,6 @@ public class AutoForMysqlServiceImpl implements AutoForMysqlService { EducationPaperScheme educationPaperScheme = result.get(); EducationPaperQu educationPaperQu = results.get(); String quScore = educationPaperScheme.getQuScores(); - ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuId(quId); String judgementStr = "

-----------------------------------------------------------

"; judgementStr += "

试题序号:" + educationPaperQu.getSort() + "

"; judgementStr += "

试题编号:" + examQuestion.getQuNum() + "

"; diff --git a/src/main/java/com/example/exam/exam/service/autoforps/AutoForPsServiceImpl.java b/src/main/java/com/example/exam/exam/service/autoforps/AutoForPsServiceImpl.java index 55b41d8..4f95f47 100644 --- a/src/main/java/com/example/exam/exam/service/autoforps/AutoForPsServiceImpl.java +++ b/src/main/java/com/example/exam/exam/service/autoforps/AutoForPsServiceImpl.java @@ -53,8 +53,11 @@ public class AutoForPsServiceImpl implements AutoForPsService{ File[] txFileList = txFile.listFiles(); for (File stFile : txFileList) { // 获取试题编号和试题ID - String quId = stFile.getName().split("@")[1]; - String quNumber = stFile.getName().split("@")[0]; + // 获取试题编号和试题ID + String quNumber = stFile.getName(); + // 需要根据题号获取试题ID + ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuNumber(quNumber); + String quId = examQuestion.getQuId(); File[] wjFiles = stFile.listFiles(); for (File wjFile : wjFiles) { if ("文件".equals(wjFile.getName())) { @@ -64,7 +67,6 @@ public class AutoForPsServiceImpl implements AutoForPsService{ EducationPaperScheme educationPaperScheme = result.get(); EducationPaperQu educationPaperQu = results.get(); String quScore = educationPaperScheme.getQuScores(); - ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuId(quId); System.out.println(wjFile); File[] lastFiles = wjFile.listFiles(); for (File lastFile : lastFiles) { diff --git a/src/main/java/com/example/exam/exam/service/c/JudgementServiceImpl.java b/src/main/java/com/example/exam/exam/service/c/JudgementServiceImpl.java index eaee986..63ce131 100644 --- a/src/main/java/com/example/exam/exam/service/c/JudgementServiceImpl.java +++ b/src/main/java/com/example/exam/exam/service/c/JudgementServiceImpl.java @@ -150,9 +150,9 @@ public class JudgementServiceImpl implements JudgementService } String actual = code_return.trim(); String expected = examQuestionAnswer.getContent().trim(); - if (actual.contains(expected)) { + if (actual.equals(expected)) { // 判断测试用例结果是否正确 - runList.add(true); + runList.add(true); // 获取测试用例临界值,并进行判断 // if (runList.size() >= Integer.parseInt(examQuestion.getQuestionScores().getCompileCutoff()) && !runList.contains(false)) { // // 测试用例得分 diff --git a/src/main/java/com/example/exam/exam/service/question/ExamQuestionServiceImpl.java b/src/main/java/com/example/exam/exam/service/question/ExamQuestionServiceImpl.java index 8419bd0..da15384 100644 --- a/src/main/java/com/example/exam/exam/service/question/ExamQuestionServiceImpl.java +++ b/src/main/java/com/example/exam/exam/service/question/ExamQuestionServiceImpl.java @@ -72,6 +72,36 @@ public class ExamQuestionServiceImpl implements IExamQuestionService return examQuestion; } + @Override + public ExamQuestion selectExamQuestionByQuNumber(String quNumber) { + // 根据题号查询试题(非试题ID) + ExamQuestion otherExam = examQuestionMapper.selectExamQuestionByQuNumber(quNumber); + String quId = otherExam.getQuId(); + //查找试题答案 + List examQuestionAnswers = examQuestionAnswerMapper.selectExamQuestionAnswerByQuId(quId); + //查找试题文件 + List sysFileUploads =sysFileMapper.selectSysFileByQuid(quId); + //查找试题判分 + ExamQuestionScore examQuestionScore =examQuestionScoreMapper.selectExamQuestionScoreByQuId(quId); + //获取试题关键字 + List examQuestionKeywords = examQuestionKeywordMapper.selectExamQuestionKeywordByQuId(quId); + ExamQuestion examQuestion = examQuestionMapper.selectExamQuestionByQuId(quId); + if (examQuestion!=null){ + if (examQuestionAnswers!=null&&examQuestionAnswers.size()>0){ + examQuestion.setAnswerList(examQuestionAnswers); + } + if (sysFileUploads!=null&&sysFileUploads.size()>0){ + examQuestion.setFileUploads(sysFileUploads); + } + if (examQuestionScore!=null){ + examQuestion.setQuestionScores(examQuestionScore); + } + if (examQuestionKeywords!=null&&examQuestionKeywords.size()>0){ + examQuestion.setQuestionKeywords(examQuestionKeywords); + } + } + return examQuestion; + } } diff --git a/src/main/java/com/example/exam/exam/service/question/IExamQuestionService.java b/src/main/java/com/example/exam/exam/service/question/IExamQuestionService.java index ef28981..8e129c5 100644 --- a/src/main/java/com/example/exam/exam/service/question/IExamQuestionService.java +++ b/src/main/java/com/example/exam/exam/service/question/IExamQuestionService.java @@ -22,4 +22,6 @@ public interface IExamQuestionService */ public ExamQuestion selectExamQuestionByQuId(String quId); + ExamQuestion selectExamQuestionByQuNumber(String quNumber); + } diff --git a/src/main/java/com/example/exam/exam/service/wpsexcel/excel/JudgementForExcelServiceImpl.java b/src/main/java/com/example/exam/exam/service/wpsexcel/excel/JudgementForExcelServiceImpl.java index d25f30b..05362bc 100644 --- a/src/main/java/com/example/exam/exam/service/wpsexcel/excel/JudgementForExcelServiceImpl.java +++ b/src/main/java/com/example/exam/exam/service/wpsexcel/excel/JudgementForExcelServiceImpl.java @@ -59,8 +59,10 @@ public class JudgementForExcelServiceImpl implements JudgementForExcelService { File[] txFileList = txFile.listFiles(); for (File stFile : txFileList) { // 获取试题编号和试题ID - String quId = stFile.getName().split("@")[1]; - String quNumber = stFile.getName().split("@")[0]; + String quNumber = stFile.getName(); + // 需要根据题号获取试题ID + ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuNumber(quNumber); + String quId = examQuestion.getQuId(); File[] wjFiles = stFile.listFiles(); for (File wjFile : wjFiles) { if ("文件".equals(wjFile.getName())) { @@ -70,7 +72,6 @@ public class JudgementForExcelServiceImpl implements JudgementForExcelService { EducationPaperScheme educationPaperScheme = result.get(); EducationPaperQu educationPaperQu = results.get(); String quScore = educationPaperScheme.getQuScores(); - ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuId(quId); System.out.println(wjFile); File[] lastFiles = wjFile.listFiles(); for (File lastFile : lastFiles) { diff --git a/src/main/java/com/example/exam/exam/service/wpspptx/pptx/JudgementForPptxServiceImpl.java b/src/main/java/com/example/exam/exam/service/wpspptx/pptx/JudgementForPptxServiceImpl.java index 39ffdf1..b90d0f4 100644 --- a/src/main/java/com/example/exam/exam/service/wpspptx/pptx/JudgementForPptxServiceImpl.java +++ b/src/main/java/com/example/exam/exam/service/wpspptx/pptx/JudgementForPptxServiceImpl.java @@ -60,8 +60,10 @@ public class JudgementForPptxServiceImpl implements JudgementForPptxService { File[] txFileList = txFile.listFiles(); for (File stFile : txFileList) { // 获取试题编号和试题ID - String quId = stFile.getName().split("@")[1]; - String quNumber = stFile.getName().split("@")[0]; + String quNumber = stFile.getName(); + // 需要根据题号获取试题ID + ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuNumber(quNumber); + String quId = examQuestion.getQuId(); File[] wjFiles = stFile.listFiles(); for (File wjFile : wjFiles) { if ("文件".equals(wjFile.getName())) { @@ -71,7 +73,6 @@ public class JudgementForPptxServiceImpl implements JudgementForPptxService { EducationPaperScheme educationPaperScheme = result.get(); EducationPaperQu educationPaperQu = results.get(); String quScore = educationPaperScheme.getQuScores(); - ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuId(quId); System.out.println(wjFile); File[] lastFiles = wjFile.listFiles(); for (File lastFile : lastFiles) { diff --git a/src/main/java/com/example/exam/exam/service/wpsword/word/JudgementForWordServiceImpl.java b/src/main/java/com/example/exam/exam/service/wpsword/word/JudgementForWordServiceImpl.java index 98be32b..d3c6105 100644 --- a/src/main/java/com/example/exam/exam/service/wpsword/word/JudgementForWordServiceImpl.java +++ b/src/main/java/com/example/exam/exam/service/wpsword/word/JudgementForWordServiceImpl.java @@ -57,8 +57,10 @@ public class JudgementForWordServiceImpl implements JudgementForWordService { File[] txFileList = txFile.listFiles(); for (File stFile : txFileList) { // 获取试题编号和试题ID - String quId = stFile.getName().split("@")[1]; - String quNumber = stFile.getName().split("@")[0]; + String quNumber = stFile.getName(); + // 需要根据题号获取试题ID + ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuNumber(quNumber); + String quId = examQuestion.getQuId(); File[] wjFiles = stFile.listFiles(); for (File wjFile : wjFiles) { if ("文件".equals(wjFile.getName())) { @@ -68,7 +70,6 @@ public class JudgementForWordServiceImpl implements JudgementForWordService { EducationPaperScheme educationPaperScheme = result.get(); EducationPaperQu educationPaperQu = results.get(); String quScore = educationPaperScheme.getQuScores(); - ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuId(quId); System.out.println(wjFile); File[] lastFiles = wjFile.listFiles(); for (File lastFile : lastFiles) { diff --git a/src/main/resources/mapper/question/ExamQuestionMapper.xml b/src/main/resources/mapper/question/ExamQuestionMapper.xml index 3ea3206..d325c55 100644 --- a/src/main/resources/mapper/question/ExamQuestionMapper.xml +++ b/src/main/resources/mapper/question/ExamQuestionMapper.xml @@ -47,4 +47,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where qu_id = #{quId} + + \ No newline at end of file