From 3cadde1277b53c63e7a3f89f6d6bd77822334964 Mon Sep 17 00:00:00 2001 From: "DESKTOP-DDTUS3E\\yaxin" <daixiaoyi0622@gmail.com> Date: Wed, 6 Nov 2024 10:04:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=87=E6=A0=87=E7=BB=93=E6=9E=9C=E8=A1=A5?= =?UTF-8?q?=E5=85=85atomicIds=EF=BC=8C=E6=95=B0=E6=8D=AE=E9=9D=9E=E7=A9=BA?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../police/service/impl/ModelServiceImpl.java | 40 +++++++++++++++---- 1 file changed, 32 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/supervision/police/service/impl/ModelServiceImpl.java b/src/main/java/com/supervision/police/service/impl/ModelServiceImpl.java index 0865069..4f57e30 100644 --- a/src/main/java/com/supervision/police/service/impl/ModelServiceImpl.java +++ b/src/main/java/com/supervision/police/service/impl/ModelServiceImpl.java @@ -177,27 +177,50 @@ public class ModelServiceImpl implements ModelService { log.info("数据准备阶段"); String caseId = analyseCaseDTO.getCaseId(); Map<String, Integer> typeScoreMap = new HashMap<>(); - // 查出案件信息 ModelCase modelCase = modelCaseMapper.selectById(caseId); - // 获取案件行为人ID + if (modelCase == null) { + log.error("未找到案件信息:【{}】", caseId); + return R.fail("未找到案件信息"); + } CasePerson casePerson = casePersonMapper.selectOne(new LambdaQueryWrapper<CasePerson>() .eq(CasePerson::getCaseId, analyseCaseDTO.getCaseId()) .eq(CasePerson::getCaseActorFlag, 1) .eq(CasePerson::getRoleCode, "1") .eq(StrUtil.isNotEmpty(analyseCaseDTO.getLawActorName()), CasePerson::getName, analyseCaseDTO.getLawActorName())); if (ObjectUtil.isEmpty(casePerson)) { - throw new RuntimeException("未找到的行为人" + analyseCaseDTO.getLawActorName()); + log.error("未找到的行为人:【{}】", analyseCaseDTO.getLawActorName()); + return R.fail("未找到的行为人"); } - // 查出指标信息 List<ModelIndex> modelIndices = modelIndexService.list(new LambdaQueryWrapper<ModelIndex>().eq(ModelIndex::getDataStatus, "1").eq(ModelIndex::getCaseType, modelCase.getCaseType())); - // 查出原子指标信息 + if (modelIndices.isEmpty()) { + log.error("未找到指标信息:【{}】", modelCase.getCaseType()); + return R.fail("未找到指标信息"); + } List<ModelAtomicIndex> atomicIndices = modelAtomicIndexMapper.selectByCaseType(modelCase.getCaseType()); - // 查出提示词信息 + if (atomicIndices.isEmpty()) { + log.error("未找到原子指标信息:【{}】", modelCase.getCaseType()); + return R.fail("未找到原子指标信息"); + } List<NotePrompt> notePrompts = notePromptService.list(new LambdaQueryWrapper<NotePrompt>().eq(NotePrompt::getType, TYPE_STRUCTURAL_REASONING)); - // 查出证据目录信息 + if (notePrompts.isEmpty()) { + log.error("未找到提示词信息:【{}】", TYPE_STRUCTURAL_REASONING); + return R.fail("未找到提示词信息"); + } List<EvidenceDirectory> evidenceDirectories = evidenceDirectoryService.list(new LambdaQueryWrapper<EvidenceDirectory>().eq(EvidenceDirectory::getCaseId, caseId)); - // 查出证据信息 + if (evidenceDirectories.isEmpty()) { + log.error("未找到证据目录信息:【{}】", caseId); + return R.fail("未找到证据目录信息"); + } List<CaseEvidence> caseEvidences = caseEvidenceService.list(new LambdaQueryWrapper<CaseEvidence>().eq(CaseEvidence::getCaseId, caseId)); + if (caseEvidences.isEmpty()) { + log.error("未找到证据信息:【{}】", caseId); + return R.fail("未找到证据信息"); + } + List<ModelIndexAtomicRelation> modelIndexAtomicRelations = modelIndexAtomicRelationService.list(); + if (modelIndexAtomicRelations.isEmpty()) { + log.error("未找到指标原子关系信息"); + return R.fail("未找到指标原子关系信息"); + } log.info("开始计算指标结果"); // 遍历指标集合,处理每个指标的判断逻辑,得出结果 modelIndices.forEach(modelIndex -> { @@ -256,6 +279,7 @@ public class ModelServiceImpl implements ModelService { ModelIndexResult modelIndexResult = new ModelIndexResult(); modelIndexResult.setCaseId(caseId); modelIndexResult.setIndexId(modelIndex.getId()); + modelIndexResult.setAtomicIds(modelIndexAtomicRelations.stream().filter(relation -> relation.getModelIndexId().equals(modelIndex.getId())).map(ModelIndexAtomicRelation::getAtomicIndexId).collect(Collectors.joining(","))); ModelIndexResult exist = modelIndexResultMapper.selectByCaseIdAndIndexId(analyseCaseDTO.getCaseId(), modelIndex.getId()); if (exist != null) { modelIndexResult.setId(exist.getId());