|
@@ -108,21 +108,22 @@ public class TEExamController {
|
|
|
}
|
|
|
teExam = new TEExam(teExamDto);
|
|
|
teExamService.saveOrUpdate(teExam);
|
|
|
- if (Objects.nonNull(oldTeExam) && Objects.equals(oldTeExam.getMode().name(), teExamDto.getMode().name())) {//如果模式改变,则删除之前模式的全部quartz
|
|
|
+ if (Objects.nonNull(oldTeExam) && !Objects.equals(oldTeExam.getMode().name(), teExamDto.getMode().name())) {//如果模式改变,则删除之前模式的全部quartz
|
|
|
QueryWrapper<TEExamActivity> teExamActivityQueryWrapper = new QueryWrapper<>();
|
|
|
teExamActivityQueryWrapper.lambda().eq(TEExamActivity::getExamId, oldId);
|
|
|
List<TEExamActivity> teExamActivityList = teExamActivityService.list(teExamActivityQueryWrapper);
|
|
|
- //删除quartz任务,发送mq消息start
|
|
|
- Map<String, Object> prop = new HashMap<>();
|
|
|
- prop.put("oper", "delete");
|
|
|
- if (Objects.nonNull(teExamActivityList.get(0)) && teExamActivityList.get(0).getEnable() == 1) {
|
|
|
- MqDto mqDto = new MqDto(MqTopicEnum.themisTopic.getCode(), MqTagEnum.EXAM_ACTIVITY.name(), JacksonUtil.parseJson(teExamActivityList), MqTagEnum.EXAM_ACTIVITY, String.valueOf(teExam.getId()), prop, tbUser.getName());
|
|
|
- mqDtoService.assembleSendOneWayMsg(mqDto);
|
|
|
+ if(Objects.nonNull(teExamActivityList) && teExamActivityList.size() > 0) {
|
|
|
+ //删除quartz任务,发送mq消息start
|
|
|
+ Map<String, Object> prop = new HashMap<>();
|
|
|
+ prop.put("oper", "delete");
|
|
|
+ if (Objects.nonNull(teExamActivityList.get(0)) && teExamActivityList.get(0).getEnable() == 1) {
|
|
|
+ MqDto mqDto = new MqDto(MqTopicEnum.themisTopic.getCode(), MqTagEnum.EXAM_ACTIVITY.name(), JacksonUtil.parseJson(teExamActivityList), MqTagEnum.EXAM_ACTIVITY, String.valueOf(teExam.getId()), prop, tbUser.getName());
|
|
|
+ mqDtoService.assembleSendOneWayMsg(mqDto);
|
|
|
+ }
|
|
|
+ //删除quartz任务,发送mq消息end
|
|
|
+ //删除数据
|
|
|
+ teExamActivityService.remove(teExamActivityQueryWrapper);
|
|
|
}
|
|
|
- //删除quartz任务,发送mq消息end
|
|
|
-
|
|
|
- //删除数据
|
|
|
- teExamActivityService.remove(teExamActivityQueryWrapper);
|
|
|
}
|
|
|
//如果是随到随考,则默认插入一条场次信息
|
|
|
if (Objects.equals(teExam.getMode().name(), ExamModeEnum.ANYTIME.name())) {//随到随考模式
|