Browse Source

代码优化

wangliang 2 years ago
parent
commit
b3f2855ce0

+ 2 - 0
themis-admin/src/main/java/com/qmth/themis/admin/api/TEExamController.java

@@ -610,6 +610,8 @@ public class TEExamController {
                 taskHistoryService.save(tbTaskHistory);
                 taskHistoryService.save(tbTaskHistory);
             } else if (tbTaskHistory.getStatus() == TaskStatusEnum.FINISH && (Objects.nonNull(tbTaskHistory.getProgress()) && tbTaskHistory.getProgress().doubleValue() == 100D)) {
             } else if (tbTaskHistory.getStatus() == TaskStatusEnum.FINISH && (Objects.nonNull(tbTaskHistory.getProgress()) && tbTaskHistory.getProgress().doubleValue() == 100D)) {
                 throw new BusinessException("当前推送任务已完成");
                 throw new BusinessException("当前推送任务已完成");
+            } else {
+                throw new BusinessException("当前推送任务正在进行中,请稍后再试!");
             }
             }
 
 
             transMap.put("tbTaskHistory", tbTaskHistory);
             transMap.put("tbTaskHistory", tbTaskHistory);

+ 17 - 5
themis-admin/src/main/java/com/qmth/themis/admin/api/TEExamStudentController.java

@@ -637,11 +637,23 @@ public class TEExamStudentController {
 
 
             Map transMap = new HashMap();
             Map transMap = new HashMap();
             TBUser tbUser = (TBUser) ServletUtil.getRequestAccount();
             TBUser tbUser = (TBUser) ServletUtil.getRequestAccount();
-            //往任务表里插一条数据
-            tbTaskHistory = new TBTaskHistory(TaskTypeEnum.CLOUD_MARK_SCORE_SYNC, TaskStatusEnum.INIT,
-                    SystemConstant.SCORE_PUSH_INIT, 0d, tbUser.getId(), tbUser.getOrgId());
-            tbTaskHistory.setExamId(Long.parseLong(examId));
-            taskHistoryService.save(tbTaskHistory);
+
+            if (Objects.nonNull(examCacheBean.getThirdExamId())) {
+                QueryWrapper<TBTaskHistory> tbTaskHistoryQueryWrapper = new QueryWrapper<>();
+                tbTaskHistoryQueryWrapper.lambda().eq(TBTaskHistory::getExamId, examCacheBean.getId())
+                        .eq(TBTaskHistory::getType, TaskTypeEnum.CLOUD_MARK_SCORE_SYNC)
+                        .eq(TBTaskHistory::getEntityId, examCacheBean.getThirdExamId());
+                tbTaskHistory = taskHistoryService.getOne(tbTaskHistoryQueryWrapper);
+            }
+            if (Objects.isNull(tbTaskHistory) || tbTaskHistory.getStatus() == TaskStatusEnum.FINISH) {
+                //往任务表里插一条数据
+                tbTaskHistory = new TBTaskHistory(TaskTypeEnum.CLOUD_MARK_SCORE_SYNC, TaskStatusEnum.INIT,
+                        SystemConstant.SCORE_PUSH_INIT, 0d, tbUser.getId(), tbUser.getOrgId());
+                tbTaskHistory.setExamId(Long.parseLong(examId));
+                taskHistoryService.save(tbTaskHistory);
+            } else if (tbTaskHistory.getStatus() == TaskStatusEnum.RUNNING) {
+                throw new BusinessException("当前同步任务正在进行中,请稍后再试!");
+            }
 
 
             transMap.put("tbTaskHistory", tbTaskHistory);
             transMap.put("tbTaskHistory", tbTaskHistory);
             transMap.put(SystemConstant.CREATE_ID, tbUser.getId());
             transMap.put(SystemConstant.CREATE_ID, tbUser.getId());