jinan_dev
DESKTOP-DDTUS3E\yaxin 5 months ago
parent dac315f28c
commit 3fc0495cea

@ -13,6 +13,7 @@ import com.supervision.police.domain.Conversation;
import com.supervision.police.domain.ConversationQa;
import com.supervision.police.domain.ModelCase;
import com.supervision.police.domain.ModelIndex;
import com.supervision.police.dto.AnalyseCaseDTO;
import com.supervision.police.dto.IndexDetail;
import com.supervision.police.dto.IndexResultQuery;
import com.supervision.police.dto.caseScore.CaseScoreDetailDTO;
@ -114,13 +115,18 @@ public class ChatServiceImpl implements ChatService {
if (modelIndices.stream().map(ModelIndex::getName).anyMatch(query::contains)) {
handleIndexResultQA(modelIndices, query, caseId, answerMap);
} else if (INTENT_TYPE_TEXT_CASE_RESULT.equals(query) || INTENT_TYPE_CASE_RESULT.equals(intentType)) {
ModelCase modelCase = modelCaseService.getById(caseId);
if (modelCase.getTotalScore() == null) {
log.info("案件【{}】尚未执行模型分析,现在开始执行", modelCase.getCaseName());
AnalyseCaseDTO analyseCaseDTO = new AnalyseCaseDTO();
analyseCaseDTO.setCaseId(caseId);
modelService.analyseCaseNew(analyseCaseDTO);
}
answerMap = JSON.parseObject(JSON.toJSONString(modelService.caseScoreDetail(caseId)), Map.class);
} else if (INTENT_TYPE_CASE_OVERVIEW.equals(query) || INTENT_TYPE_CASE_OVERVIEW.equals(intentType)) {
ModelCase modelCase = modelCaseService.getById(caseId);
answerMap.put("answerText", modelCase.getCaseDetail());
answerMap.put("answerText", modelCaseService.getById(caseId).getCaseDetail());
} else if (INTENT_TYPE_CASE_EVIDENCE_GUIDE.equals(query) || INTENT_TYPE_CASE_EVIDENCE_GUIDE.equals(intentType)) {
CaseScoreDetailDTO caseScoreDetailDTO = modelService.caseScoreDetail(caseId);
answerMap.put("guideDesc", caseScoreDetailDTO.getGuideDesc());
answerMap.put("guideDesc", modelService.caseScoreDetail(caseId).getGuideDesc());
} else {
ModelCase modelCase = modelCaseService.getById(caseId);
DifyChatReqVO difyChatReqVO = new DifyChatReqVO();
@ -144,15 +150,20 @@ public class ChatServiceImpl implements ChatService {
}
break;
case INTENT_TYPE_CASE_RESULT:
ModelCase modelCase = modelCaseService.getById(caseId);
if (modelCase.getTotalScore() == null) {
log.info("案件【{}】尚未执行模型分析,现在开始执行", modelCase.getCaseName());
AnalyseCaseDTO analyseCaseDTO = new AnalyseCaseDTO();
analyseCaseDTO.setCaseId(caseId);
modelService.analyseCaseNew(analyseCaseDTO);
}
answerMap = JSON.parseObject(JSON.toJSONString(modelService.caseScoreDetail(caseId)), Map.class);
break;
case INTENT_TYPE_CASE_OVERVIEW:
ModelCase modelCase = modelCaseService.getById(caseId);
answerMap.put("answerText", modelCase.getCaseDetail());
answerMap.put("answerText", modelCaseService.getById(caseId).getCaseDetail());
break;
case INTENT_TYPE_CASE_EVIDENCE_GUIDE:
CaseScoreDetailDTO caseScoreDetailDTO = modelService.caseScoreDetail(caseId);
answerMap.put("guideDesc", caseScoreDetailDTO.getGuideDesc());
answerMap.put("guideDesc", modelService.caseScoreDetail(caseId).getGuideDesc());
break;
default:
break;
@ -200,6 +211,7 @@ public class ChatServiceImpl implements ChatService {
if (!indexDetailPage.getRecords().isEmpty()) {
IndexDetail indexDetail = indexDetailPage.getRecords().get(0);
answerMap.put("indexName", modelIndex.getName());
answerMap.put("indexType", modelIndex.getIndexType());
answerMap.put("result", Boolean.parseBoolean(indexDetail.getIndexResult()) ? "符合" : "不符合");
List<Map<String, String>> qaSplitList = new ArrayList<>();
if (!indexDetail.getChildren().isEmpty()) {
@ -217,17 +229,20 @@ public class ChatServiceImpl implements ChatService {
});
}
answerMap.put("qaSplitList", qaSplitList);
List<String> evidenceNames = new ArrayList<>();
List<Map<String, String>> evidenceList = new ArrayList<>();
if (!indexDetail.getChildren().isEmpty()) {
indexDetail.getChildren().forEach(atomicIndexDTO -> {
if (!atomicIndexDTO.getEvidentResultList().isEmpty()) {
atomicIndexDTO.getEvidentResultList().forEach(evidentIndexResultDTO -> {
evidenceNames.add(evidentIndexResultDTO.getEvidenceName());
Map<String, String> evidenceMap = new HashMap<>();
evidenceMap.put("evidenceName", evidentIndexResultDTO.getEvidenceName());
evidenceMap.put("evidenceId", evidentIndexResultDTO.getIndexId());
evidenceList.add(evidenceMap);
});
}
});
}
answerMap.put("evidenceNames", evidenceNames);
answerMap.put("evidenceNames", evidenceList);
}
}
}

Loading…
Cancel
Save