浏览代码

代码优化

wangliang 2 年之前
父节点
当前提交
be12939508

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

@@ -595,13 +595,13 @@ public class TEExamController {
             Map transMap = new HashMap();
             TBUser tbUser = (TBUser) ServletUtil.getRequestAccount();
 
-            if (Objects.nonNull(examCacheBean.getThirdExamId())) {
-                QueryWrapper<TBTaskHistory> tbTaskHistoryQueryWrapper = new QueryWrapper<>();
-                tbTaskHistoryQueryWrapper.lambda().eq(TBTaskHistory::getExamId, examCacheBean.getId())
-                        .eq(TBTaskHistory::getType, TaskTypeEnum.CLOUD_MARK_DATA_PUSH)
-                        .eq(TBTaskHistory::getEntityId, examCacheBean.getThirdExamId());
-                tbTaskHistory = taskHistoryService.getOne(tbTaskHistoryQueryWrapper);
-            }
+            QueryWrapper<TBTaskHistory> tbTaskHistoryQueryWrapper = new QueryWrapper<>();
+            tbTaskHistoryQueryWrapper.lambda().eq(TBTaskHistory::getExamId, examCacheBean.getId())
+                    .eq(TBTaskHistory::getType, TaskTypeEnum.CLOUD_MARK_DATA_PUSH)
+                    .orderByDesc(TBTaskHistory::getCreateTime)
+                    .last(" limit 1 ");
+            tbTaskHistory = taskHistoryService.getOne(tbTaskHistoryQueryWrapper);
+
             if (Objects.isNull(tbTaskHistory)) {
                 //往任务表里插一条数据
                 tbTaskHistory = new TBTaskHistory(TaskTypeEnum.CLOUD_MARK_DATA_PUSH, TaskStatusEnum.INIT,

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

@@ -638,20 +638,20 @@ public class TEExamStudentController {
             Map transMap = new HashMap();
             TBUser tbUser = (TBUser) ServletUtil.getRequestAccount();
 
-            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);
-            }
+            QueryWrapper<TBTaskHistory> tbTaskHistoryQueryWrapper = new QueryWrapper<>();
+            tbTaskHistoryQueryWrapper.lambda().eq(TBTaskHistory::getExamId, examCacheBean.getId())
+                    .eq(TBTaskHistory::getType, TaskTypeEnum.CLOUD_MARK_SCORE_SYNC)
+                    .orderByDesc(TBTaskHistory::getCreateTime)
+                    .last(" limit 1 ");
+            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) {
+            } else if (tbTaskHistory.getStatus() != TaskStatusEnum.FINISH) {
                 throw new BusinessException("当前同步任务正在进行中,请稍后再试!");
             }