From 7664636df707b0b919ac6dd68e485c1e696bc2df Mon Sep 17 00:00:00 2001 From: dlaren Date: Tue, 26 Aug 2025 10:02:07 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E3=80=91=201?= =?UTF-8?q?=E3=80=81h2-h3=202=E3=80=81=E9=94=99=E9=A2=98=E9=9B=86=E9=83=A8?= =?UTF-8?q?=E5=88=86=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../exam/exam/dal/ExamErrorQuestion.java | 131 ++++++++++++++++++ .../exam/mapper/ExamErrorQuestionMapper.java | 19 +++ .../AutoForWinEmailSettingServiceImpl.java | 20 +-- .../AutoForWinEdgeSettingServiceImpl.java | 20 +-- .../AutoForBrowerServiceImpl.java | 10 +- .../service/autoforc/AutoForCServiceImpl.java | 17 ++- .../AutoForChoiceServiceImpl.java | 32 ++--- .../autoforfile/AutoForFileServiceImpl.java | 10 +- .../autoformysql/AutoForMysqlServiceImpl.java | 10 +- .../autoforps/AutoForPsServiceImpl.java | 10 +- .../error/ExamErrorQuestionServiceImpl.java | 26 ++++ .../error/IExamErrorQuestionService.java | 16 +++ .../excel/JudgementForExcelServiceImpl.java | 10 +- .../pptx/JudgementForPptxServiceImpl.java | 10 +- .../word/JudgementForWordServiceImpl.java | 10 +- 15 files changed, 275 insertions(+), 76 deletions(-) create mode 100644 src/main/java/com/example/exam/exam/dal/ExamErrorQuestion.java create mode 100644 src/main/java/com/example/exam/exam/mapper/ExamErrorQuestionMapper.java create mode 100644 src/main/java/com/example/exam/exam/service/error/ExamErrorQuestionServiceImpl.java create mode 100644 src/main/java/com/example/exam/exam/service/error/IExamErrorQuestionService.java diff --git a/src/main/java/com/example/exam/exam/dal/ExamErrorQuestion.java b/src/main/java/com/example/exam/exam/dal/ExamErrorQuestion.java new file mode 100644 index 0000000..7c794c5 --- /dev/null +++ b/src/main/java/com/example/exam/exam/dal/ExamErrorQuestion.java @@ -0,0 +1,131 @@ +package com.example.exam.exam.dal; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.experimental.Accessors; + +import java.util.List; + +/** + * 错题集 + * + * @author pengchen + */ + +@TableName(value = "exam_error_question", autoResultMap = true) +@Accessors(chain = true) +public class ExamErrorQuestion { + + + @TableId + private String id; + /** + * 试题id + */ + private String quId; + + /** + * 任务ID + */ + private String taskId; + + /** + * 章节名称 + */ + private String chapteridDictText; + /** + * 题型名称 + */ + private String subjectName; + + /** + * 题型难度(0:简单,1:一般,2:困难) + */ + private Integer quLevel; + + /** + * 试题内容(带样式:

下列表格123

\n\n\n\n\) + */ + private String content; + + /** + * 试题内容(纯文本) + */ + private String contentText; + + /** + * 解析(带样式) + */ + private String analysis; + + /** + * c语言参考答案 + */ + private String answer; + + + /** + * 知识点 + */ + private String pointNames; + /** + * 关键字 + */ + private String keywords; + + /** + * 是否人工(0否1是,简答题专用) + */ + private String manual; + + + /** + * 状态(0启用,1禁用) + */ + private String status; + + /** + * 审核 + */ + private String audit; + + /** + * 课程类别 + */ + private String courseName; + + /** + * 专业分类 + */ + private String specialtyName; + /** + * 数据库名 + */ + private String tname; + + /** + * 试题答案 + */ + @TableField(exist = false) + private List answerList; + + /** + * 试题文件 + */ + @TableField(exist = false) + private List fileUploads; + + /** + * 试题判分 + */ + @TableField(exist = false) + private ExamQuestionScore questionScores; + + /** + * 试题关键字 + */ + @TableField(exist = false) + private List questionKeywords; + +} diff --git a/src/main/java/com/example/exam/exam/mapper/ExamErrorQuestionMapper.java b/src/main/java/com/example/exam/exam/mapper/ExamErrorQuestionMapper.java new file mode 100644 index 0000000..412f938 --- /dev/null +++ b/src/main/java/com/example/exam/exam/mapper/ExamErrorQuestionMapper.java @@ -0,0 +1,19 @@ +package com.example.exam.exam.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.example.exam.exam.dal.ExamErrorQuestion; +import com.example.exam.exam.dal.ExamQuestion; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 试题(hyc)Mapper接口 + * + * @author pengchen + * @date 2025-03-13 + */ +@Mapper +public interface ExamErrorQuestionMapper extends BaseMapper +{ + +} diff --git a/src/main/java/com/example/exam/exam/service/autoForEmailSetting/AutoForWinEmailSettingServiceImpl.java b/src/main/java/com/example/exam/exam/service/autoForEmailSetting/AutoForWinEmailSettingServiceImpl.java index e6b1db2..e9a1f12 100644 --- a/src/main/java/com/example/exam/exam/service/autoForEmailSetting/AutoForWinEmailSettingServiceImpl.java +++ b/src/main/java/com/example/exam/exam/service/autoForEmailSetting/AutoForWinEmailSettingServiceImpl.java @@ -148,10 +148,10 @@ public class AutoForWinEmailSettingServiceImpl implements AutoForWinEmailSetting Map map = objectMapper.readValue(jsonText, Map.class); String judgementStr = "

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

"; - judgementStr += "

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

"; - judgementStr += "

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

"; - judgementStr += "

试题分数:" + Double.parseDouble(quScore) + "

"; - judgementStr += "

试题名称: 邮箱

"; + judgementStr += "

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

"; + judgementStr += "

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

"; + judgementStr += "

试题分数:" + Double.parseDouble(quScore) + "

"; + judgementStr += "

试题名称: 邮箱

"; judgementStr += "

✅ 开始QQ邮箱提判分

"; // 考试进行比对 for (ExamQuestionAnswer questionAnswer : examQuestion.getAnswerList()) { @@ -183,7 +183,7 @@ public class AutoForWinEmailSettingServiceImpl implements AutoForWinEmailSetting judgementStr = HtmlAppender.appendHtmlLine(judgementStr, questionAnswer.getContentIn() + " 得分失败 【❌】"); } } - judgementStr += "

试题得分: " + oneScore + "

"; + judgementStr += "

试题得分: " + oneScore + "

"; StuPaperScoreDO insertInfo = new StuPaperScoreDO(); insertInfo.setStuId(stuInfoVo.getStuId()); insertInfo.setPaperId(stuInfoVo.getPaperId()); @@ -227,13 +227,13 @@ public class AutoForWinEmailSettingServiceImpl implements AutoForWinEmailSetting // 根据ID查询试题 ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuId(quId); String judgementStr = "

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

"; - judgementStr += "

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

"; - judgementStr += "

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

"; - judgementStr += "

试题分数:" + Double.parseDouble(quScore) + "

"; - judgementStr += "

试题名称: 邮箱

"; + judgementStr += "

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

"; + judgementStr += "

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

"; + judgementStr += "

试题分数:" + Double.parseDouble(quScore) + "

"; + judgementStr += "

试题名称: 邮箱

"; judgementStr += "

✅ 开始QQ邮箱提判分

"; judgementStr += "

❌ 未成功检测到作答情况

"; - judgementStr += "

试题得分: 0分

"; + judgementStr += "

试题得分: 0分

"; StuPaperScoreDO insertInfo = new StuPaperScoreDO(); insertInfo.setStuId(stuInfoVo.getStuId()); insertInfo.setPaperId(stuInfoVo.getPaperId()); diff --git a/src/main/java/com/example/exam/exam/service/autoForWinEdgeSetting/AutoForWinEdgeSettingServiceImpl.java b/src/main/java/com/example/exam/exam/service/autoForWinEdgeSetting/AutoForWinEdgeSettingServiceImpl.java index f5b409c..51893f7 100644 --- a/src/main/java/com/example/exam/exam/service/autoForWinEdgeSetting/AutoForWinEdgeSettingServiceImpl.java +++ b/src/main/java/com/example/exam/exam/service/autoForWinEdgeSetting/AutoForWinEdgeSettingServiceImpl.java @@ -148,10 +148,10 @@ public class AutoForWinEdgeSettingServiceImpl implements AutoForWinEdgeSettingSe Map map = objectMapper.readValue(jsonText, Map.class); String judgementStr = "

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

"; - judgementStr += "

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

"; - judgementStr += "

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

"; - judgementStr += "

试题分数:" + Double.parseDouble(quScore) + "

"; - judgementStr += "

试题名称: windows网络设置

"; + judgementStr += "

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

"; + judgementStr += "

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

"; + judgementStr += "

试题分数:" + Double.parseDouble(quScore) + "

"; + judgementStr += "

试题名称: windows网络设置

"; judgementStr += "

✅ 开始EDGE浏览器网络设置判分

"; // 考试进行比对 for (ExamQuestionAnswer questionAnswer : examQuestion.getAnswerList()) { @@ -183,7 +183,7 @@ public class AutoForWinEdgeSettingServiceImpl implements AutoForWinEdgeSettingSe judgementStr = HtmlAppender.appendHtmlLine(judgementStr, questionAnswer.getContentIn() + " 得分失败 【❌】"); } } - judgementStr += "

试题得分: " + oneScore + "

"; + judgementStr += "

试题得分: " + oneScore + "

"; StuPaperScoreDO insertInfo = new StuPaperScoreDO(); insertInfo.setStuId(stuInfoVo.getStuId()); insertInfo.setPaperId(stuInfoVo.getPaperId()); @@ -227,13 +227,13 @@ public class AutoForWinEdgeSettingServiceImpl implements AutoForWinEdgeSettingSe // 根据ID查询试题 ExamQuestion examQuestion = examQuestionService.selectExamQuestionByQuId(quId); String judgementStr = "

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

"; - judgementStr += "

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

"; - judgementStr += "

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

"; - judgementStr += "

试题分数:" + Double.parseDouble(quScore) + "

"; - judgementStr += "

试题名称: windows网络设置

"; + judgementStr += "

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

"; + judgementStr += "

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

"; + judgementStr += "

试题分数:" + Double.parseDouble(quScore) + "

"; + judgementStr += "

试题名称: windows网络设置

"; judgementStr += "

✅ 开始EDGE浏览器网络设置判分

"; judgementStr += "

❌ 未成功检测到作答情况

"; - judgementStr += "

试题得分: 0分

"; + judgementStr += "

试题得分: 0分

"; StuPaperScoreDO insertInfo = new StuPaperScoreDO(); insertInfo.setStuId(stuInfoVo.getStuId()); insertInfo.setPaperId(stuInfoVo.getPaperId()); 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 0755ec3..e8d0f7e 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 @@ -74,15 +74,15 @@ public class AutoForBrowerServiceImpl implements AutoForBrowerService { EducationPaperQu educationPaperQu = results.get(); String quScore = educationPaperScheme.getQuScores(); String judgementStr = "

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

"; - judgementStr += "

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

"; - judgementStr += "

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

"; - judgementStr += "

试题分数:" + Double.parseDouble(quScore) + "

"; - judgementStr += "

试题名称:" + name + "

"; + judgementStr += "

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

"; + judgementStr += "

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

"; + judgementStr += "

试题分数:" + Double.parseDouble(quScore) + "

"; + judgementStr += "

试题名称:" + name + "

"; judgementStr += "

✅ 开始网络提判分

"; SourceAndText cpojo = judgementBrowerService.Judgement(Double.parseDouble(quScore), stFile, examQuestion, judgementStr); score = score.add(new BigDecimal(cpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP)); judgementStr = cpojo.getText(); - judgementStr += "

试题得分:" + cpojo.getScore() + "

"; + judgementStr += "

试题得分:" + cpojo.getScore() + "

"; // 4、需要更新学生试题得分 StuPaperScoreDO insertInfo = new StuPaperScoreDO(); insertInfo.setStuId(stuInfoVo.getStuId()); 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 15e145e..503b0cf 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 @@ -73,17 +73,17 @@ public class AutoForCServiceImpl implements AutoForCService { String quScore = educationPaperScheme.getQuScores(); if (wjFile.getName().contains(".c")) { String judgementStr = "

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

"; - judgementStr += "

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

"; - judgementStr += "

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

"; - judgementStr += "

试题分数:" + Double.parseDouble(quScore) + "

"; - judgementStr += "

试题名称:" + name + "

"; + judgementStr += "

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

"; + judgementStr += "

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

"; + judgementStr += "

试题分数:" + Double.parseDouble(quScore) + "

"; + judgementStr += "

试题名称:" + name + "

"; judgementStr += "

✅ 开始C语言编程题判分

"; // 获取不带文件名称的路径 String filePaths = wjFile.getParent(); SourceAndText cpojo = judgementService.ProgrammingC(Double.parseDouble(quScore), filePaths, wjFile.getName(), examQuestion, judgementStr); judgementStr = cpojo.getText(); BigDecimal dangSource = new BigDecimal(cpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP); - judgementStr += "

试题得分:" + dangSource + "

"; + judgementStr += "

试题得分:" + dangSource + "

"; // 4、需要更新学生试题得分,首先需要查询试题的数据库是否保存信息 score = score.add(new BigDecimal(cpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP)); // 直接进行新增,不需要进行更新 @@ -100,6 +100,13 @@ public class AutoForCServiceImpl implements AutoForCService { insertInfo.setTemporaryId(stuInfoVo.getTemporaryId()); insertInfo.setIsTrue(cpojo.getScore() == 0 ? 1 : cpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2); stuPaperScoreService.insertStuPaperScore(insertInfo); + // 判断是否进入错题集 + int isError = cpojo.getScore() == 0 ? 1 : cpojo.getScore() >= Double.parseDouble(quScore) ? 0 : 2; + if (isError != 0) { + // 如果不是全对得话进入错题集 + System.out.println("进入错题集" + quId); + ExamErrorQuestion examErrorQuestion = new ExamErrorQuestion(); + } break; } } diff --git a/src/main/java/com/example/exam/exam/service/autoforchoice/AutoForChoiceServiceImpl.java b/src/main/java/com/example/exam/exam/service/autoforchoice/AutoForChoiceServiceImpl.java index 3034ede..1e07a5e 100644 --- a/src/main/java/com/example/exam/exam/service/autoforchoice/AutoForChoiceServiceImpl.java +++ b/src/main/java/com/example/exam/exam/service/autoforchoice/AutoForChoiceServiceImpl.java @@ -122,22 +122,22 @@ public class AutoForChoiceServiceImpl implements AutoForChoiceService { stuAnswerSort = convertToLetter(resultAnswer.get().getSort()); } String judgementStr = "

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

"; - judgementStr += "

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

"; - judgementStr += "

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

"; - judgementStr += "

试题分数:" + Double.parseDouble(quScore) + "

"; - judgementStr += "

试题名称: 选择题

"; + judgementStr += "

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

"; + judgementStr += "

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

"; + judgementStr += "

试题分数:" + Double.parseDouble(quScore) + "

"; + judgementStr += "

试题名称: 选择题

"; judgementStr += "

学生答案:" + stuAnswerSort + "

"; judgementStr += "

正确答案:" + trueAbswerSort + "

"; boolean isRight = false; // 开始判断学生的答案是否正确 if (stuAnswerId.equals(trueAnswerId)) { // 正确 - judgementStr += "

得分:" + Double.parseDouble(quScore) + "

"; + judgementStr += "

得分:" + Double.parseDouble(quScore) + "

"; isRight = true; score += Double.parseDouble(quScore); } else { // 不正确 - judgementStr += "

得分:0

"; + judgementStr += "

得分:0

"; isRight = false; } StuPaperScoreDO insertInfo = new StuPaperScoreDO(); @@ -165,13 +165,13 @@ public class AutoForChoiceServiceImpl implements AutoForChoiceService { } // 没有找到作答情况直接该题判0分 String judgementStr = "

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

"; - judgementStr += "

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

"; - judgementStr += ""; - judgementStr += "

试题分数:" + Double.parseDouble(quScore) + "

"; - judgementStr += "

试题名称: 选择题

"; + judgementStr += "

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

"; + judgementStr += ""; + judgementStr += "

试题分数:" + Double.parseDouble(quScore) + "

"; + judgementStr += "

试题名称: 选择题

"; judgementStr += "

学生答案: 未作答

"; judgementStr += "

正确答案:" + trueAbswerSort + "

"; - judgementStr += "

得分:0

"; + judgementStr += "

得分:0

"; StuPaperScoreDO insertInfo = new StuPaperScoreDO(); insertInfo.setStuId(stuInfoVo.getStuId()); insertInfo.setPaperId(stuInfoVo.getPaperId()); @@ -215,13 +215,13 @@ public class AutoForChoiceServiceImpl implements AutoForChoiceService { EducationPaperQu educationPaperQu = resultss.get(); // 没有找到作答情况直接该题判0分 String judgementStr = "

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

"; - judgementStr += "

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

"; - judgementStr += "

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

"; - judgementStr += "试题分数:" + Double.parseDouble(quScore) + ""; - judgementStr += "

试题名称: 选择题

"; + judgementStr += "

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

"; + judgementStr += "

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

"; + judgementStr += "试题分数:" + Double.parseDouble(quScore) + ""; + judgementStr += "

试题名称: 选择题

"; judgementStr += "

学生答案: 未作答

"; judgementStr += "

正确答案:" + trueAbswerSort + "

"; - judgementStr += "

得分:0

"; + judgementStr += "

得分:0

"; StuPaperScoreDO insertInfo = new StuPaperScoreDO(); insertInfo.setStuId(stuInfoVo.getStuId()); insertInfo.setPaperId(stuInfoVo.getPaperId()); 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 670fd86..6353f01 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 @@ -80,15 +80,15 @@ public class AutoForFileServiceImpl implements AutoForFileService { EducationPaperQu educationPaperQu = results.get(); String quScore = educationPaperScheme.getQuScores(); String judgementStr = "

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

"; - judgementStr += "

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

"; - judgementStr += "

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

"; - judgementStr += "

试题分数:" + Double.parseDouble(quScore) + "

"; - judgementStr += "

试题名称:" + name + "

"; + judgementStr += "

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

"; + judgementStr += "

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

"; + judgementStr += "

试题分数:" + Double.parseDouble(quScore) + "

"; + judgementStr += "

试题名称:" + name + "

"; judgementStr += "

✅ 开始文件题判分

"; SourceAndText cpojo = fileServerice.Judgement(Double.parseDouble(quScore), stFile, examQuestion, judgementStr); score = score.add(new BigDecimal(cpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP)); judgementStr = cpojo.getText(); - judgementStr += "

试题得分:" + cpojo.getScore() + "

"; + judgementStr += "

试题得分:" + cpojo.getScore() + "

"; // 4、需要更新学生试题得分 StuPaperScoreDO insertInfo = new StuPaperScoreDO(); insertInfo.setStuId(stuInfoVo.getStuId()); 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 f905ac8..038be70 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 @@ -78,15 +78,15 @@ public class AutoForMysqlServiceImpl implements AutoForMysqlService { if (wjFile.getName().contains(".sql")) { String judgementStr = "

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

"; - judgementStr += "

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

"; - judgementStr += "

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

"; - judgementStr += "

试题分数:" + Double.parseDouble(quScore) + "

"; - judgementStr += "

试题名称:" + name + "

"; + judgementStr += "

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

"; + judgementStr += "

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

"; + judgementStr += "

试题分数:" + Double.parseDouble(quScore) + "

"; + judgementStr += "

试题名称:" + name + "

"; judgementStr += "

✅ 开始MYSQL判分

"; SourceAndText cpojo = mysqlLocalService.Judgement(Double.parseDouble(quScore), stFile, examQuestion, judgementStr); score = score.add(new BigDecimal(cpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP)); judgementStr = cpojo.getText(); - judgementStr += "

试题得分:" + cpojo.getScore() + "

"; + judgementStr += "

试题得分:" + cpojo.getScore() + "

"; // 4、需要更新学生试题得分 StuPaperScoreDO insertInfo = new StuPaperScoreDO(); insertInfo.setStuId(stuInfoVo.getStuId()); 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 6e567ea..89ccc3f 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 @@ -69,15 +69,15 @@ public class AutoForPsServiceImpl implements AutoForPsService { if (wjFile.getName().contains("原始")) { String filePaths = wjFile.getParent(); String judgementStr = "

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

"; - judgementStr += "

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

"; - judgementStr += "

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

"; - judgementStr += "

试题分数:" + Double.parseDouble(quScore) + "

"; - judgementStr += "

试题名称:" + name + "

"; + judgementStr += "

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

"; + judgementStr += "

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

"; + judgementStr += "

试题分数:" + Double.parseDouble(quScore) + "

"; + judgementStr += "

试题名称:" + name + "

"; judgementStr += "

✅ 开始QQ邮箱提判分

"; SourceAndText wordpojo = psService.Judgement(Double.parseDouble(quScore), filePaths, wjFile.getPath(), examQuestion, judgementStr); score = score.add(new BigDecimal(wordpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP)); judgementStr = wordpojo.getText(); - judgementStr += "

试题得分:" + wordpojo.getScore() + "

"; + judgementStr += "

试题得分:" + wordpojo.getScore() + "

"; // 4、需要更新学生试题得分 StuPaperScoreDO insertInfo = new StuPaperScoreDO(); insertInfo.setStuId(stuInfoVo.getStuId()); diff --git a/src/main/java/com/example/exam/exam/service/error/ExamErrorQuestionServiceImpl.java b/src/main/java/com/example/exam/exam/service/error/ExamErrorQuestionServiceImpl.java new file mode 100644 index 0000000..7add872 --- /dev/null +++ b/src/main/java/com/example/exam/exam/service/error/ExamErrorQuestionServiceImpl.java @@ -0,0 +1,26 @@ +package com.example.exam.exam.service.error; + + +import com.example.exam.exam.dal.*; +import com.example.exam.exam.mapper.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 错题集Service业务层处理 + * + * @author pengchen + */ +@Service +public class ExamErrorQuestionServiceImpl implements IExamErrorQuestionService +{ + @Autowired + ExamErrorQuestionMapper examErrorQuestionMapper; + + @Override + public int insertExamErrorQuestion(ExamErrorQuestion examErrorQuestion) { + return examErrorQuestionMapper.insert(examErrorQuestion); + } +} diff --git a/src/main/java/com/example/exam/exam/service/error/IExamErrorQuestionService.java b/src/main/java/com/example/exam/exam/service/error/IExamErrorQuestionService.java new file mode 100644 index 0000000..9abb1c8 --- /dev/null +++ b/src/main/java/com/example/exam/exam/service/error/IExamErrorQuestionService.java @@ -0,0 +1,16 @@ +package com.example.exam.exam.service.error; + + +import com.example.exam.exam.dal.ExamErrorQuestion; + +/** + * 错题集Service接口 + * + * @author pengchen + */ +public interface IExamErrorQuestionService { + /** + * 新增错题集数据 + */ + public int insertExamErrorQuestion(ExamErrorQuestion examErrorQuestion); +} 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 7e3162d..31aecf9 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 @@ -73,16 +73,16 @@ public class JudgementForExcelServiceImpl implements JudgementForExcelService { System.out.println(wjFile.getName()); if (wjFile.getName().contains("文档")) { String judgementStr = "

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

"; - judgementStr += "

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

"; - judgementStr += "

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

"; - judgementStr += "

试题分数:" + Double.parseDouble(quScore) + "

"; - judgementStr += "

试题名称:" + name + "

"; + judgementStr += "

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

"; + judgementStr += "

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

"; + judgementStr += "

试题分数:" + Double.parseDouble(quScore) + "

"; + judgementStr += "

试题名称:" + name + "

"; judgementStr += "

✅ 开始WPS_EXCEL判分

"; SourceAndText excelpojo = judgementWpsExcelService.judgementWpsXlsx(Double.parseDouble(quScore), wjFile.getPath(), wjFile.getPath(), examQuestion, judgementStr); score = score.add(new BigDecimal(excelpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP)); judgementStr = excelpojo.getText(); BigDecimal dangSource = new BigDecimal(excelpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP); - judgementStr += "

试题得分:" + dangSource + "

"; + judgementStr += "

试题得分:" + dangSource + "

"; // 4、需要新增生试题得分 StuPaperScoreDO insertInfo = new StuPaperScoreDO(); insertInfo.setStuId(stuInfoVo.getStuId()); 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 393ade1..a52b0df 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 @@ -74,16 +74,16 @@ public class JudgementForPptxServiceImpl implements JudgementForPptxService { String quScore = educationPaperScheme.getQuScores(); if (wjFile.getName().contains("文档")) { String judgementStr = "

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

"; - judgementStr += "

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

"; - judgementStr += "

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

"; - judgementStr += "

试题分数:" + Double.parseDouble(quScore) + "

"; - judgementStr += "

试题名称:" + name + "

"; + judgementStr += "

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

"; + judgementStr += "

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

"; + judgementStr += "

试题分数:" + Double.parseDouble(quScore) + "

"; + judgementStr += "

试题名称:" + name + "

"; judgementStr += "

✅ 开始WPS_PPTX判分

"; SourceAndText pptxpojo = judgementWpsPptxService.judgementWpsPptx(Double.parseDouble(quScore), wjFile.getPath(), wjFile.getPath(), examQuestion, judgementStr); score = score.add(new BigDecimal(pptxpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP)); judgementStr = pptxpojo.getText(); BigDecimal dangSource = new BigDecimal(pptxpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP); - judgementStr += "

试题得分:" + dangSource + "

"; + judgementStr += "

试题得分:" + dangSource + "

"; // 4、需要新增生试题得分 StuPaperScoreDO insertInfo = new StuPaperScoreDO(); insertInfo.setStuId(stuInfoVo.getStuId()); 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 3fba574..8572497 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 @@ -71,16 +71,16 @@ public class JudgementForWordServiceImpl implements JudgementForWordService { String quScore = educationPaperScheme.getQuScores(); if (wjFile.getName().contains("文档")) { String judgementStr = "

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

"; - judgementStr += "

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

"; - judgementStr += "

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

"; - judgementStr += "

试题分数:" + Double.parseDouble(quScore) + "

"; - judgementStr += "

试题名称:" + name + "

"; + judgementStr += "

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

"; + judgementStr += "

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

"; + judgementStr += "

试题分数:" + Double.parseDouble(quScore) + "

"; + judgementStr += "

试题名称:" + name + "

"; judgementStr += "

✅ 开始WPS_WORD判分

"; SourceAndText wordpojo = judgementWpsWordService.judgementWpsWord(Double.parseDouble(quScore), wjFile.getPath(), wjFile.getPath(), examQuestion, judgementStr); score = score.add(new BigDecimal(wordpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP)); judgementStr = wordpojo.getText(); BigDecimal dangSource = new BigDecimal(wordpojo.getScore()).setScale(1, BigDecimal.ROUND_HALF_UP); - judgementStr += "

试题得分:" + dangSource + "

"; + judgementStr += "

试题得分:" + dangSource + "

"; // 4、需要新增学生试题得分 StuPaperScoreDO insertInfo = new StuPaperScoreDO(); insertInfo.setStuId(stuInfoVo.getStuId());
1