|
@@ -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;
|