Browse Source

Merge branch 'dev'
1

wangliang 4 years ago
parent
commit
0c40b9e54e

+ 15 - 7
themis-business/src/main/java/com/qmth/themis/business/service/impl/TEExamServiceImpl.java

@@ -22,10 +22,7 @@ import com.qmth.themis.business.entity.TEExam;
 import com.qmth.themis.business.entity.TOeExamRecord;
 import com.qmth.themis.business.enums.*;
 import com.qmth.themis.business.service.*;
-import com.qmth.themis.business.util.OssUtil;
-import com.qmth.themis.business.util.RedisUtil;
-import com.qmth.themis.business.util.ServletUtil;
-import com.qmth.themis.business.util.TencentYunUtil;
+import com.qmth.themis.business.util.*;
 import com.qmth.themis.common.exception.BusinessException;
 import org.apache.commons.codec.digest.DigestUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -450,10 +447,21 @@ public class TEExamServiceImpl extends ServiceImpl<TEExamMapper, TEExam> impleme
         if (Objects.nonNull(exam.getForceFinish()) && exam.getForceFinish().intValue() == 0) {
             Date date = ExamRecordCacheUtil.getExamFinalFinishTime(recordId);
             if (Objects.isNull(date)) {
-                Date finishTime = Objects.nonNull(ac.getFinishTime()) ? ac.getFinishTime() : exam.getEndTime();
+                Date finalFinishTime = Objects.nonNull(ac.getFinishTime()) ? ac.getFinishTime() : exam.getEndTime();
                 Integer breakResumeCount = exam.getBreakResumeCount();
-                Long l = (finishTime.getTime() / 1000 + (breakResumeCount * breakExpireSeconds) + (breakResumeCount * 180)) * 1000;
-                Date finalFinishTime = new Date(l);
+                Long l = (finalFinishTime.getTime() / 1000 + (breakResumeCount * breakExpireSeconds) + (breakResumeCount * 180)) * 1000;
+                finalFinishTime.setTime(l);
+                ExamRecordCacheUtil.setExamFinalFinishTime(recordId, finalFinishTime);
+                //新增quartz任务,发送mq消息start
+                Map<String, Object> prop = new HashMap<>();
+                prop.put("oper", "insert");
+                prop.put("exam", exam);
+                ExamActivityCacheBean examActivityCacheBean = new ExamActivityCacheBean();
+                BeanUtils.copyProperties(ac, examActivityCacheBean);
+                examActivityCacheBean.setFinishTime(finalFinishTime);
+                MqDto mqDto = new MqDto(MqTopicEnum.THEMIS_TOPIC.getCode(), MqTagEnum.EXAM_ACTIVITY.name(), JacksonUtil.parseJson(examActivityCacheBean), MqTagEnum.EXAM_ACTIVITY, String.valueOf(exam.getId()), prop, es.getName());
+                mqDtoService.assembleSendOneWayMsg(mqDto);
+                //新增quartz任务,发送mq消息end
             }
         }
         return ret;