From fa9601433ea1e6a8abe209dea8a9c7f37be639fe Mon Sep 17 00:00:00 2001 From: huababa1 <2037205722@qq.com> Date: Sun, 12 Oct 2025 19:14:34 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E3=80=91=E6=96=87?= =?UTF-8?q?=E5=AD=97=E8=80=83=E7=82=B9=EF=BC=8C=20=E5=AD=A6=E7=94=9F?= =?UTF-8?q?=E8=BF=9B=E5=85=A5=E8=80=83=E8=AF=95=20=E4=B8=8D=E5=8D=95?= =?UTF-8?q?=E7=8B=AC=E4=BB=8E=E7=BC=93=E5=AD=98=E4=B8=AD=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=20=EF=BC=8C=E6=8E=A8=E9=80=81=E8=AF=95=E9=A2=98=E4=B8=AD?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=AF=95=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/monitor/MonitorServiceImpl.java | 11 +- .../question/ExamQuestionServiceImpl.java | 2 +- .../mapper/exam/ExamQuestionMapper.xml | 2 +- .../mapper/specialty/ExamSpecialtyMapper.xml | 4 + .../utils/wps_word/docx4j/DocxMaster.java | 20 +- .../wps_word/docx4j/drawing/Drawing.java | 19 +- .../docx4j/drawing/DrawingInline.java | 9 +- .../wps_word/docx4j/paragraph/Paragraphs.java | 199 ++++++++++++++---- .../wps_word/docx4j/section/SectionPage.java | 154 +++++++++++--- 9 files changed, 336 insertions(+), 84 deletions(-) diff --git a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/monitor/MonitorServiceImpl.java b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/monitor/MonitorServiceImpl.java index bc62a3cb..8b0facb9 100644 --- a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/monitor/MonitorServiceImpl.java +++ b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/monitor/MonitorServiceImpl.java @@ -143,7 +143,11 @@ public class MonitorServiceImpl implements MonitorService { String key = "userCache:" + stuMonitorPaperVo.getTaskId() + ":" + stuMonitorPaperVo.getStuId(); MonitorDO info = JsonUtils.parseObject(stringRedisTemplate.opsForValue().get(key), MonitorDO.class); if (info == null) { - return 0L; + info=monitorMapper.selectOne( + new QueryWrapper() + .eq("task_id", stuMonitorPaperVo.getTaskId()) + .eq("stu_id", stuMonitorPaperVo.getStuId()) + ); } //获取属性 判断 专业/课程点位 Long loginTenantId = SecurityFrameworkUtils.getLoginTenantId(); @@ -266,7 +270,7 @@ public class MonitorServiceImpl implements MonitorService { info.setTemporaryId(stuMonitorPaperVo.getTemporaryId()); info.setIp(stuMonitorPaperVo.getIp()); if (info.getRemainingTime() == null) { - stringRedisTemplate.opsForValue().set("userCache:" + stuMonitorPaperVo.getTaskId() + ":" + stuMonitorPaperVo.getStuId(), JsonUtils.toJsonString(info)); + stringRedisTemplate.opsForValue().set(key, JsonUtils.toJsonString(info)); monitorMapper.updateById(info); return 24 * 60 * 60L; // (1天) } else { @@ -320,6 +324,7 @@ public class MonitorServiceImpl implements MonitorService { info.setEndTime(end.format(fmt)); // 判分后更新记录 monitorMapper.updateById(info); + stringRedisTemplate.opsForValue().set(key, JsonUtils.toJsonString(info)); return finalRemaining; } else { return 0; @@ -334,7 +339,7 @@ public class MonitorServiceImpl implements MonitorService { LocalDateTime target = now.plusSeconds((long) examTime.toLocalTime().toSecondOfDay()); // 没有考场更新结束时间 info.setEndTime(target.format(fmt)); - stringRedisTemplate.opsForValue().set("userCache:" + stuMonitorPaperVo.getTaskId() + ":" + stuMonitorPaperVo.getStuId(), JsonUtils.toJsonString(info)); + stringRedisTemplate.opsForValue().set(key, JsonUtils.toJsonString(info)); monitorMapper.updateById(info); return (long) examTime.toLocalTime().toSecondOfDay(); } diff --git a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/question/ExamQuestionServiceImpl.java b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/question/ExamQuestionServiceImpl.java index ea2dd0a1..3e5b0222 100644 --- a/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/question/ExamQuestionServiceImpl.java +++ b/exam-module-exam/exam-module-exam-biz/src/main/java/pc/exam/pp/module/exam/service/question/ExamQuestionServiceImpl.java @@ -810,7 +810,7 @@ public class ExamQuestionServiceImpl implements IExamQuestionService { // 批量插入 examQuestionMapper.insertExamPsKeywordList(psKeywords); } - examQuestionMapper.updateBatch(examQuestion); + examQuestionMapper.updateById(examQuestion); } } } diff --git a/exam-module-exam/exam-module-exam-biz/src/main/resources/mapper/exam/ExamQuestionMapper.xml b/exam-module-exam/exam-module-exam-biz/src/main/resources/mapper/exam/ExamQuestionMapper.xml index 1a23b2bf..b8db313a 100644 --- a/exam-module-exam/exam-module-exam-biz/src/main/resources/mapper/exam/ExamQuestionMapper.xml +++ b/exam-module-exam/exam-module-exam-biz/src/main/resources/mapper/exam/ExamQuestionMapper.xml @@ -139,7 +139,7 @@ where sp_id = #{spId} + and status = 0 + and deleted = 0