Просмотр исходного кода

批次,场次定时任务和时间校验

wangliang 2 лет назад
Родитель
Сommit
b3cc97112e

+ 12 - 10
themis-business/src/main/java/com/qmth/themis/business/service/impl/TEExamServiceImpl.java

@@ -579,16 +579,18 @@ public class TEExamServiceImpl extends ServiceImpl<TEExamMapper, TEExam> impleme
                 Long finalFinishTime =
                         (calendar.getTime().getTime() / 1000 + (breakResumeCount * breakExpireSeconds) + (
                                 breakResumeCount * 180)) * 1000;
-                ExamRecordCacheUtil.setExamFinalFinishTime(recordId, finalFinishTime);
-                //新增quartz任务,发送mq消息start
-                Map<String, Object> prop = new HashMap<>();
-                prop.put("oper", "insert");
-                prop.put("exam", exam);
-                MqDto mqDto = new MqDto(mqUtil.getMqGroupDomain().getTopic(), MqTagEnum.EXAM_STUDENT.name(),
-                        JacksonUtil.parseJson(examStudentCacheBean), MqTagEnum.EXAM_STUDENT, String.valueOf(recordId),
-                        prop, es.getName());
-                mqDtoService.assembleSendOneWayMsg(mqDto);
-                //新增quartz任务,发送mq消息end
+                if (Objects.nonNull(finalFinishTime) && finalFinishTime.longValue() > System.currentTimeMillis()) {
+                    ExamRecordCacheUtil.setExamFinalFinishTime(recordId, finalFinishTime);
+                    //新增quartz任务,发送mq消息start
+                    Map<String, Object> prop = new HashMap<>();
+                    prop.put("oper", "insert");
+                    prop.put("exam", exam);
+                    MqDto mqDto = new MqDto(mqUtil.getMqGroupDomain().getTopic(), MqTagEnum.EXAM_STUDENT.name(),
+                            JacksonUtil.parseJson(examStudentCacheBean), MqTagEnum.EXAM_STUDENT, String.valueOf(recordId),
+                            prop, es.getName());
+                    mqDtoService.assembleSendOneWayMsg(mqDto);
+                    //新增quartz任务,发送mq消息end
+                }
             }
         }
         return ret;