Browse Source

监考端接口

wangliang 4 years ago
parent
commit
bd96d6332a

+ 12 - 11
themis-backend/src/main/java/com/qmth/themis/backend/api/TEExamController.java

@@ -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())) {//随到随考模式