diff --git a/src/main/java/com/supervision/police/service/impl/MroServiceImpl.java b/src/main/java/com/supervision/police/service/impl/MroServiceImpl.java index 6a75e54..a80b4e9 100644 --- a/src/main/java/com/supervision/police/service/impl/MroServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/MroServiceImpl.java @@ -15,6 +15,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -28,6 +29,8 @@ public class MroServiceImpl implements MroService { private final ModelService modelService; + private final CaseStatusManageService caseStatusManageService; + @Override public IPage queryCaseList(CaseProcessReqVO caseProcessReqVO, Integer page, Integer size) { @@ -50,16 +53,27 @@ public class MroServiceImpl implements MroService { List modelCases = modelCaseService.listByIds(caseIds); Assert.notEmpty(modelCases, "案件不存在!"); - for (ModelCase modelCase : modelCases) { - int caseAnalysisStatus = modelCase.getCaseAnalysisStatus(); - if (1 == caseAnalysisStatus) { - log.info("案件【{}】正在分析中,跳过", modelCase.getCaseName()); - continue; + // 创建一个线程 + new Thread(() -> { + log.info("开始异步分析案件...."); + List caseIdList = new ArrayList<>(); + for (ModelCase modelCase : modelCases) { + int caseAnalysisStatus = modelCase.getCaseAnalysisStatus(); + if (1 == caseAnalysisStatus) { + log.info("案件【{}】正在分析中,跳过", modelCase.getCaseName()); + continue; + } + caseStatusManageService.whenAnalyseCaseStart(modelCase.getId()); + caseIdList.add(modelCase.getId()); + } + for (String caseId : caseIdList) { + AnalyseCaseDTO analyseCaseDTO = new AnalyseCaseDTO(); + analyseCaseDTO.setCaseId(caseId); + modelService.analyseCaseWrapper(analyseCaseDTO); } - AnalyseCaseDTO analyseCaseDTO = new AnalyseCaseDTO(); - analyseCaseDTO.setCaseId(modelCase.getId()); - modelService.analyseCaseWrapper(analyseCaseDTO); - } + log.info("案件分析完成!"); + }).start(); + } } 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 106661b..1dfcaa0 100644 --- a/src/main/java/com/supervision/police/service/impl/TaskRecordServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/TaskRecordServiceImpl.java @@ -213,7 +213,7 @@ public class TaskRecordServiceImpl extends ServiceImpl