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