diff --git a/src/main/java/com/supervision/job/XxlJobTask.java b/src/main/java/com/supervision/job/XxlJobTask.java index 1e291e4..abaaad9 100644 --- a/src/main/java/com/supervision/job/XxlJobTask.java +++ b/src/main/java/com/supervision/job/XxlJobTask.java @@ -123,13 +123,13 @@ public class XxlJobTask { } stopWatch.stop(); stopWatch.start("Complete task"); - taskRecordService.completeTask(taskId, map.get("executeId"), true); + taskRecordService.completeTask(taskId, map.get("executeId"),promptId, true); stopWatch.stop(); } } catch (Exception e) { stopWatch.stop(); log.error("任务执行失败!Task ID:{}", taskId, e); - taskRecordService.completeTask(map.get("taskId"), map.get("executeId"), false); + taskRecordService.completeTask(map.get("taskId"), map.get("executeId"), promptId,false); } finally { log.info("【提取任务】任务结束。任务ID: 【{}】。耗时:{}", taskId, stopWatch.prettyPrint()); } diff --git a/src/main/java/com/supervision/police/domain/TaskRecord.java b/src/main/java/com/supervision/police/domain/TaskRecord.java index 81ab799..1729755 100644 --- a/src/main/java/com/supervision/police/domain/TaskRecord.java +++ b/src/main/java/com/supervision/police/domain/TaskRecord.java @@ -63,6 +63,9 @@ public class TaskRecord implements Serializable { */ private LocalDateTime cancelTime; + + private LocalDateTime finishTime; + /** * 创建人ID */ diff --git a/src/main/java/com/supervision/police/dto/TaskInfoDTO.java b/src/main/java/com/supervision/police/dto/TaskInfoDTO.java index af4ed3e..6279790 100644 --- a/src/main/java/com/supervision/police/dto/TaskInfoDTO.java +++ b/src/main/java/com/supervision/police/dto/TaskInfoDTO.java @@ -47,6 +47,12 @@ public class TaskInfoDTO { @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") private LocalDateTime cancelTime; + /** + * 任务完成时间 + */ + @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime finishTime; + /** * 任务创建时间 */ diff --git a/src/main/java/com/supervision/police/service/TaskCaseRecordService.java b/src/main/java/com/supervision/police/service/TaskCaseRecordService.java index 42f67c2..40ffadf 100644 --- a/src/main/java/com/supervision/police/service/TaskCaseRecordService.java +++ b/src/main/java/com/supervision/police/service/TaskCaseRecordService.java @@ -3,6 +3,7 @@ package com.supervision.police.service; import com.supervision.police.domain.TaskCaseRecord; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; +import java.util.Map; /** * @author dxy @@ -29,8 +30,8 @@ public interface TaskCaseRecordService extends IService { */ String getActuallyStatus(TaskCaseRecord taskCaseRecord); - TaskCaseRecord updateStatus(String taskId, String executeId,boolean isSuccess); - TaskCaseRecord updateStatus(String taskId, String executeId,boolean isSuccess,List taskCaseRecordList); + TaskCaseRecord updateStatus(String taskId, String executeId,String promptId,boolean isSuccess); + TaskCaseRecord updateStatus(String taskId, String executeId,String promptId,boolean isSuccess,List taskCaseRecordList); Boolean updateStatus(String taskId,List olderStatus,String nowStatus); diff --git a/src/main/java/com/supervision/police/service/TaskRecordService.java b/src/main/java/com/supervision/police/service/TaskRecordService.java index 972c016..5633a34 100644 --- a/src/main/java/com/supervision/police/service/TaskRecordService.java +++ b/src/main/java/com/supervision/police/service/TaskRecordService.java @@ -63,7 +63,7 @@ public interface TaskRecordService extends IService { * @param taskId 任务id * @param executeId 执行id */ - void completeTask(String taskId, String executeId, boolean isSuccess); + void completeTask(String taskId, String promptId,String executeId, boolean isSuccess); String determineStatus(List taskCaseRecords); diff --git a/src/main/java/com/supervision/police/service/impl/TaskCaseRecordServiceImpl.java b/src/main/java/com/supervision/police/service/impl/TaskCaseRecordServiceImpl.java index 9bdaf35..8532cde 100644 --- a/src/main/java/com/supervision/police/service/impl/TaskCaseRecordServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/TaskCaseRecordServiceImpl.java @@ -1,6 +1,7 @@ package com.supervision.police.service.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.lang.Assert; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -13,6 +14,7 @@ import org.springframework.stereotype.Service; import java.util.Arrays; import java.util.List; +import java.util.Map; /** * @author dxy @@ -44,18 +46,19 @@ public class TaskCaseRecordServiceImpl extends ServiceImpl taskCaseRecords = this.queryByTaskId(taskId); - return updateStatus(taskId, executeId, isSuccess, taskCaseRecords); + return updateStatus(taskId, executeId,promptId, isSuccess, taskCaseRecords); } @Override - public TaskCaseRecord updateStatus(String taskId, String executeId, boolean isSuccess, List taskCaseRecords) { + public TaskCaseRecord updateStatus(String taskId, String executeId, String promptId,boolean isSuccess, List taskCaseRecords) { // 理论上只能存在一个taskCase信息 List taskCaseRecordList = taskCaseRecords.stream() .filter(taskCaseRecord -> StrUtil.isNotEmpty(taskCaseRecord.getWaitingId())) .filter(taskCaseRecord -> Arrays.asList(taskCaseRecord.getWaitingId().split(",")).contains(executeId)) + .filter(taskCaseRecord -> StrUtil.isEmpty(promptId) || StrUtil.equals(promptId, taskCaseRecord.getPromptId())) .toList(); log.info("updateStatus:任务【{}】,当前执行ID【{}】,当前任务案件执行列表长度:{}", taskId, executeId, taskCaseRecordList.size()); TaskCaseRecord taskCaseRecord = CollUtil.getFirst(taskCaseRecordList); 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 dbccffb..d7a15cb 100644 --- a/src/main/java/com/supervision/police/service/impl/TaskRecordServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/TaskRecordServiceImpl.java @@ -316,7 +316,7 @@ public class TaskRecordServiceImpl extends ServiceImpl + @@ -22,7 +23,7 @@ id,name,case_id, record_id,evidence_id,type, - status,cancel_time,create_user_id, + status,cancel_time,finish_time,create_user_id, create_time,update_user_id,update_time, batch_no @@ -37,6 +38,7 @@ t.status as taskStatus, t.create_time as createTime, t.cancel_time as cancelTime, + t.finish_time as finishTime, t.create_user_id as createUserId, su.user_name as createUserName from task_record t