From a5611ec3134152824e975c49c166fb8fba8d5916 Mon Sep 17 00:00:00 2001 From: xueqingkun Date: Mon, 30 Dec 2024 14:46:25 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E6=B7=BB=E5=8A=A0=E5=8D=95=E4=B8=AA?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E8=AF=8D=E5=88=86=E6=9E=90=E7=AC=94=E5=BD=95?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/TaskRecordServiceImpl.java | 26 +++++++++---------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/supervision/police/service/impl/TaskRecordServiceImpl.java b/src/main/java/com/supervision/police/service/impl/TaskRecordServiceImpl.java index 405e176..0cd2924 100644 --- a/src/main/java/com/supervision/police/service/impl/TaskRecordServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/TaskRecordServiceImpl.java @@ -239,17 +239,15 @@ public class TaskRecordServiceImpl extends ServiceImpl taskCaseRecords = taskCaseRecordService.queryByTaskId(taskId); - String taskStatus = this.determineStatus(taskCaseRecords); - log.info("completeTask:任务ID:【{}】,初始任务状态:【{}】,计算后任务状态:【{}】", taskId, taskCaseRecord.getStatus(),taskStatus); - if (!StrUtil.equals(taskStatus,taskRecord.getStatus())){ - taskRecord.setStatus(taskStatus); - super.updateById(taskRecord); + if (StrUtil.equalsAny(taskRecord.getStatus(),TASK_STATUS_WAITING,TASK_STATUS_PROCESSING)){ + List taskCaseRecords = taskCaseRecordService.queryByTaskId(taskId); + String taskStatus = this.determineStatus(taskCaseRecords); + log.info("completeTask:任务ID:【{}】,初始任务状态:【{}】,计算后任务状态:【{}】", taskId, taskCaseRecord.getStatus(),taskStatus); + if (!StrUtil.equals(taskStatus,taskRecord.getStatus())){ + taskRecord.setStatus(taskStatus); + super.updateById(taskRecord); + } } - } @Override @@ -257,11 +255,11 @@ public class TaskRecordServiceImpl extends ServiceImpl StrUtil.isNotEmpty(taskCaseRecord.getExceptionId())); - return TASK_STATUS_FAIL; + // 所有任务状态都是终止状态,则任务状态为成功 + boolean finished = taskCaseRecords.stream().allMatch(taskCaseRecord -> + StrUtil.equalsAny(taskCaseRecord.getStatus(), TASK_STATUS_CANCELED, TASK_STATUS_SUCCESS, TASK_STATUS_FAIL)); + return finished ? TASK_STATUS_SUCCESS : TASK_STATUS_PROCESSING; }