From deabd5f7f51d159fed3b21fd116a6b9e9abb9af9 Mon Sep 17 00:00:00 2001 From: lbw <1192299468@qq.com> Date: Sun, 4 Jan 2026 18:52:50 +0800 Subject: [PATCH] =?UTF-8?q?feat(exam):=20=E4=BC=98=E5=8C=96=E8=80=83?= =?UTF-8?q?=E8=AF=95=E5=88=A4=E5=8D=B7=E9=80=BB=E8=BE=91=E5=B9=B6=E5=AE=8C?= =?UTF-8?q?=E5=96=84=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增获取未完成判卷数量接口 getExamUnfinishedCount - 修改定时任务 autoJudgeExamWords 使用未完成判卷数量判断 - Mapper 添加 selectUnfinishedCount 方法,SQL查询未完成记录数 - 优化文件上传判卷时日志输出,增加“上传文件成功”日志 - 修正判卷时未识别学生和考试的提示信息 - 移除学生查询页面中班级和年级ID显示,仅保留名称显示 - 测试类中添加判卷方法调用测试逻辑 - 配置文件增加 Sa-Token 相关日志调试配置 --- .../domain/mapper/ExamWordsJudgeResultDOMapper.java | 2 ++ .../enlish/service/service/ExamWordsJudgeService.java | 2 ++ .../enlish/service/service/exam/ExamWordsServiceImpl.java | 5 +++-- .../service/service/judge/ExamWordsJudgeServiceImpl.java | 8 ++++++-- .../enlish/service/task/AutoJudgeExamWordsTask.java | 2 +- enlish-service/src/main/resources/config/application.yml | 6 +++++- .../resources/mapper/ExamWordsJudgeResultDOMapper.xml | 7 ++++++- .../yinlihupo/enlish/service/service/exam/ExamTest.java | 3 +++ .../service/service/exam/ExamWordsJudgeServiceTest.java | 5 +++++ enlish-vue/src/pages/class.vue | 6 ++---- 10 files changed, 35 insertions(+), 11 deletions(-) diff --git a/enlish-service/src/main/java/com/yinlihupo/enlish/service/domain/mapper/ExamWordsJudgeResultDOMapper.java b/enlish-service/src/main/java/com/yinlihupo/enlish/service/domain/mapper/ExamWordsJudgeResultDOMapper.java index f0c758c..8dbed53 100644 --- a/enlish-service/src/main/java/com/yinlihupo/enlish/service/domain/mapper/ExamWordsJudgeResultDOMapper.java +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/domain/mapper/ExamWordsJudgeResultDOMapper.java @@ -19,6 +19,8 @@ public interface ExamWordsJudgeResultDOMapper { Integer selectCount(); + Integer selectUnfinishedCount(); + ExamWordsJudgeResultDO selectDetailById(@Param("id") Integer id); List selectByStudentId(@Param("studentId") Integer studentId); diff --git a/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/ExamWordsJudgeService.java b/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/ExamWordsJudgeService.java index 355567c..b5c0d18 100644 --- a/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/ExamWordsJudgeService.java +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/ExamWordsJudgeService.java @@ -13,6 +13,8 @@ public interface ExamWordsJudgeService { Integer getExamWordsJudgeResultCount(); + Integer getExamUnfinishedCount(); + ExamWordsJudgeResultDO getExamWordsJudgeResultDOById(Integer id); List getStudentExamWordsResultList(Integer studentId); diff --git a/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/exam/ExamWordsServiceImpl.java b/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/exam/ExamWordsServiceImpl.java index db7ed69..fb1f81e 100644 --- a/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/exam/ExamWordsServiceImpl.java +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/exam/ExamWordsServiceImpl.java @@ -178,8 +178,9 @@ public class ExamWordsServiceImpl implements ExamWordsService { File dest = new File(path); file.transferTo(dest); - - return examWordsJudgeResultDOMapper.insert(path); + int insert = examWordsJudgeResultDOMapper.insert(path); + log.info("上传文件成功"); + return insert; } catch (IOException e) { throw new RuntimeException("上传失败", e); } diff --git a/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/judge/ExamWordsJudgeServiceImpl.java b/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/judge/ExamWordsJudgeServiceImpl.java index cf1a946..f32c712 100644 --- a/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/judge/ExamWordsJudgeServiceImpl.java +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/judge/ExamWordsJudgeServiceImpl.java @@ -50,7 +50,6 @@ public class ExamWordsJudgeServiceImpl implements ExamWordsJudgeService { private String tessdataPath; @Override - @Transactional(rollbackFor = Exception.class) public void judgeExamWords(int count) { List examWordsJudgeResultDOS = examWordsJudgeResultDOMapper.selectUnfinishedExamWordsJudgeResultDOList(count); for (ExamWordsJudgeResultDO examWordsJudgeResultDO : examWordsJudgeResultDOS) { @@ -62,7 +61,7 @@ public class ExamWordsJudgeServiceImpl implements ExamWordsJudgeService { Integer examWordsJudgeResultDOId = examWordsJudgeResultDO.getId(); if (studentExamId == null) { log.info("未找到学生 id 和考试 id"); - examWordsJudgeResultDOMapper.updateMsg(examWordsJudgeResultDOId, "未识别学生 id 和考试 id"); + examWordsJudgeResultDOMapper.updateMsg(examWordsJudgeResultDOId, "未识别学生和考试"); continue; } @@ -351,6 +350,11 @@ public class ExamWordsJudgeServiceImpl implements ExamWordsJudgeService { return examWordsJudgeResultDOMapper.selectCount(); } + @Override + public Integer getExamUnfinishedCount() { + return examWordsJudgeResultDOMapper.selectUnfinishedCount(); + } + @Override public ExamWordsJudgeResultDO getExamWordsJudgeResultDOById(Integer id) { return examWordsJudgeResultDOMapper.selectDetailById(id); diff --git a/enlish-service/src/main/java/com/yinlihupo/enlish/service/task/AutoJudgeExamWordsTask.java b/enlish-service/src/main/java/com/yinlihupo/enlish/service/task/AutoJudgeExamWordsTask.java index 56d9d62..90f20be 100644 --- a/enlish-service/src/main/java/com/yinlihupo/enlish/service/task/AutoJudgeExamWordsTask.java +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/task/AutoJudgeExamWordsTask.java @@ -15,7 +15,7 @@ public class AutoJudgeExamWordsTask { @Scheduled(fixedRate = 5000) public void autoJudgeExamWords() { - if (examWordsJudgeService.getExamWordsJudgeResultCount() != 0) { + if (examWordsJudgeService.getExamUnfinishedCount() != 0) { log.info("有试卷待检测,开始检测"); examWordsJudgeService.judgeExamWords(5); } diff --git a/enlish-service/src/main/resources/config/application.yml b/enlish-service/src/main/resources/config/application.yml index b314786..972b1a1 100644 --- a/enlish-service/src/main/resources/config/application.yml +++ b/enlish-service/src/main/resources/config/application.yml @@ -9,6 +9,7 @@ mybatis: # MyBatis xml 配置文件路径 mapper-locations: classpath:/mapper/**/*.xml + ############## Sa-Token 配置 (文档: https://sa-token.cc) ############## sa-token: # token 名称(同时也是 cookie 名称) @@ -26,4 +27,7 @@ sa-token: # 在多人登录同一账号时,是否共用一个 token (为 true 时所有登录共用一个 token, 为 false 时每次登录新建一个 token) is-share: true # 是否输出操作日志 - is-log: true \ No newline at end of file + is-log: true +logging: + level: + com.yinlihupo.enlish.service.domain.mapper: debug \ No newline at end of file diff --git a/enlish-service/src/main/resources/mapper/ExamWordsJudgeResultDOMapper.xml b/enlish-service/src/main/resources/mapper/ExamWordsJudgeResultDOMapper.xml index 4dada02..4b750f7 100644 --- a/enlish-service/src/main/resources/mapper/ExamWordsJudgeResultDOMapper.xml +++ b/enlish-service/src/main/resources/mapper/ExamWordsJudgeResultDOMapper.xml @@ -61,7 +61,6 @@ + + \ No newline at end of file diff --git a/enlish-service/src/test/java/com/yinlihupo/enlish/service/service/exam/ExamTest.java b/enlish-service/src/test/java/com/yinlihupo/enlish/service/service/exam/ExamTest.java index e7c295a..041f54b 100644 --- a/enlish-service/src/test/java/com/yinlihupo/enlish/service/service/exam/ExamTest.java +++ b/enlish-service/src/test/java/com/yinlihupo/enlish/service/service/exam/ExamTest.java @@ -5,6 +5,7 @@ import com.deepoove.poi.config.Configure; import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy; import com.yinlihupo.enlish.service.domain.dataobject.ExamWordsDO; import com.yinlihupo.enlish.service.domain.dataobject.VocabularyBankDO; +import com.yinlihupo.enlish.service.domain.mapper.ExamWordsJudgeResultDOMapper; import com.yinlihupo.enlish.service.model.bo.Word; import com.yinlihupo.enlish.service.service.ExamWordsService; import com.yinlihupo.enlish.service.service.VocabularyService; @@ -24,6 +25,8 @@ public class ExamTest { private ExamWordsService examWordsService; @Resource private VocabularyService vocabularyService; + @Resource + private ExamWordsJudgeResultDOMapper examWordsJudgeResultDOMapper; @Test public void test() { // ExamWordsDO examWordsDO = examWordsService.generateExamWords(5, 0); diff --git a/enlish-service/src/test/java/com/yinlihupo/enlish/service/service/exam/ExamWordsJudgeServiceTest.java b/enlish-service/src/test/java/com/yinlihupo/enlish/service/service/exam/ExamWordsJudgeServiceTest.java index 34d1921..5622156 100644 --- a/enlish-service/src/test/java/com/yinlihupo/enlish/service/service/exam/ExamWordsJudgeServiceTest.java +++ b/enlish-service/src/test/java/com/yinlihupo/enlish/service/service/exam/ExamWordsJudgeServiceTest.java @@ -54,6 +54,11 @@ public class ExamWordsJudgeServiceTest { // } } + @Test + public void judege() { + examWordsJudgeService.judgeExamWords(5); + } + @Test public void selectExamWordsJudgeResult() { // List examWordsJudgeResult = examWordsJudgeService.getExamWordsJudgeResult(1, 10); diff --git a/enlish-vue/src/pages/class.vue b/enlish-vue/src/pages/class.vue index e73ff0d..cac5785 100644 --- a/enlish-vue/src/pages/class.vue +++ b/enlish-vue/src/pages/class.vue @@ -43,10 +43,8 @@
学生查询
- 班级:{{ selectedClassTitle }} (ID: {{ - selectedClassId }}) - 年级:{{ selectedGradeTitle }} (ID: {{ - selectedGradeId }}) + 班级:{{ selectedClassTitle }} + 年级:{{ selectedGradeTitle }} 查询 重置