|
@@ -4,11 +4,13 @@ import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.google.gson.Gson;
|
|
|
+import com.qmth.themis.business.cache.bean.ExamCacheBean;
|
|
|
import com.qmth.themis.business.constant.SystemConstant;
|
|
|
import com.qmth.themis.business.dto.MqDto;
|
|
|
import com.qmth.themis.business.entity.TEExam;
|
|
|
import com.qmth.themis.business.entity.TEExamActivity;
|
|
|
import com.qmth.themis.business.entity.TMRocketMessage;
|
|
|
+import com.qmth.themis.business.service.TEExamService;
|
|
|
import com.qmth.themis.business.service.TMRocketMessageService;
|
|
|
import com.qmth.themis.business.util.JacksonUtil;
|
|
|
import com.qmth.themis.business.util.RedisUtil;
|
|
@@ -45,6 +47,9 @@ public class MqTaskLogicServiceImpl implements MqTaskLogicService {
|
|
|
@Resource
|
|
|
QuartzService quartzService;
|
|
|
|
|
|
+ @Resource
|
|
|
+ TEExamService teExamService;
|
|
|
+
|
|
|
/**
|
|
|
* mq最大重试次数逻辑
|
|
|
*
|
|
@@ -75,6 +80,7 @@ public class MqTaskLogicServiceImpl implements MqTaskLogicService {
|
|
|
JSONArray jsonArray = (JSONArray) JSONArray.parse(String.valueOf(mqDto.getBody()));
|
|
|
for (int i = 0; i < jsonArray.size(); i++) {
|
|
|
TEExamActivity teExamActivity = JSONObject.toJavaObject((JSON) jsonArray.get(i), TEExamActivity.class);
|
|
|
+ ExamCacheBean examCacheBean = teExamService.getExamCacheBean(teExamActivity.getExamId());
|
|
|
if (Objects.equals("delete", oper)) {
|
|
|
quartzService.deleteJob(teExamActivity.getCode(), QuartzTaskEnum.EXAM_ACTIVITY_JOB_GROUP_NAME.name());
|
|
|
} else {
|
|
@@ -95,9 +101,9 @@ public class MqTaskLogicServiceImpl implements MqTaskLogicService {
|
|
|
String activityCode = teExamActivity.getCode();
|
|
|
//执行一次性延时任务
|
|
|
Map mapJob = new HashMap();
|
|
|
- mapJob.put("name", activityCode);
|
|
|
+ mapJob.put("name", examCacheBean.getId() + "-" + activityCode);
|
|
|
quartzService.deleteJob(activityCode, QuartzTaskEnum.EXAM_ACTIVITY_JOB_GROUP_NAME.name());
|
|
|
- quartzService.addJob(ExamActivityJob.class, activityCode, QuartzTaskEnum.EXAM_ACTIVITY_JOB_GROUP_NAME.name(), cron, mapJob);
|
|
|
+ quartzService.addJob(ExamActivityJob.class, examCacheBean.getId() + "-" + activityCode, QuartzTaskEnum.EXAM_ACTIVITY_JOB_GROUP_NAME.name(), cron, mapJob);
|
|
|
}
|
|
|
}
|
|
|
}
|