소스 검색

推理接口

Zhaops 6 년 전
부모
커밋
c6111abc46
1개의 변경된 파일22개의 추가작업 그리고 0개의 파일을 삭제
  1. 22 0
      icss-service/src/main/java/com/diagbot/facade/PushFacade.java

+ 22 - 0
icss-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -2,7 +2,9 @@ package com.diagbot.facade;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.client.AIServiceClient;
+import com.diagbot.client.HighRiskServiceClient;
 import com.diagbot.client.bean.FeatureRate;
+import com.diagbot.client.bean.GdbResponse;
 import com.diagbot.client.bean.Response;
 import com.diagbot.client.bean.ResponseData;
 import com.diagbot.client.bean.SearchData;
@@ -31,11 +33,13 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.Arrays;
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.stream.Collectors;
 
 /**
  * @Description:
@@ -56,6 +60,8 @@ public class PushFacade {
     private VitalOrderFacade vitalOrderFacade;
     @Autowired
     private TreatmentFacade treatmentFacade;
+    @Autowired
+    private HighRiskServiceClient highRiskServiceClient;
 
     /**
      * 推理接口
@@ -130,6 +136,22 @@ public class PushFacade {
         if (featureTypeSet.contains(String.valueOf(QuestionTypeEnum.Disease.getKey()))) {
             Map<String, List<QuestionDTO>> disMapDTO = new LinkedHashMap<>();
             Map<String, List<FeatureRate>> disFeatureMap=new LinkedHashMap<>();
+            List<String> diseaseNameList=dis.stream().map(disease->disease.getFeatureName()).collect(Collectors.toList());
+            Map<String,String> highRiskMap=new HashMap<>();
+            highRiskMap.put("disease",String.join(",",diseaseNameList));
+            Response<GdbResponse> graphRes = highRiskServiceClient.highRiskPageData(highRiskMap);
+            Map<String,String> graphResult=graphRes.getData().getResult();
+            if(graphResult.size()>0) {
+                Map<String, Object> disMap = new LinkedHashMap<>();
+                for (Map.Entry<String, String> entry : graphResult.entrySet()) {
+                    if (entry.getValue().equals("1")) {
+                        disMap.put(entry.getKey(), "");
+                    }
+                }
+                List<QuestionDTO> disDTO = getTagListByMap(disMap, pushVO, QuestionTypeEnum.Disease.getKey());
+                disMapDTO.put("警惕", disDTO);
+            }
+
             //诊断分类
             for(FeatureRate featureRate:dis) {
                 if (StringUtil.isBlank(featureRate.getDesc())) {