Jelajahi Sumber

治疗方案

Zhaops 6 tahun lalu
induk
melakukan
75623a9be7

+ 5 - 3
icss-service/src/main/java/com/diagbot/client/bean/ResponseData.java

@@ -1,5 +1,7 @@
 package com.diagbot.client.bean;
 
+import com.alibaba.fastjson.JSONObject;
+
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -17,7 +19,7 @@ public class ResponseData {
     private List<FeatureRate> labs = new ArrayList<>(10);
     private List<FeatureRate> pacs = new ArrayList<>(10);
     private List<FeatureRate> history=new ArrayList<>(10);
-    private Map<String,String> treat;
+    private Map<String, JSONObject> treat;
 
     private Map<String, Map<String, String>> inputs = new HashMap<>(10, 0.5f);
 
@@ -78,11 +80,11 @@ public class ResponseData {
         this.history = history;
     }
 
-    public Map<String, String> getTreat() {
+    public Map<String, JSONObject> getTreat() {
         return treat;
     }
 
-    public void setTreat(Map<String, String> treat) {
+    public void setTreat(Map<String, JSONObject> treat) {
         this.treat = treat;
     }
 

+ 2 - 3
icss-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -1,5 +1,6 @@
 package com.diagbot.facade;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.client.AIServiceClient;
 import com.diagbot.client.HighRiskServiceClient;
@@ -59,8 +60,6 @@ public class PushFacade {
     @Autowired
     private DeptVitalFacade deptVitalFacade;
     @Autowired
-    private VitalOrderFacade vitalOrderFacade;
-    @Autowired
     private TreatmentFacade treatmentFacade;
     @Autowired
     private HighRiskServiceClient highRiskServiceClient;
@@ -145,7 +144,7 @@ public class PushFacade {
         List<FeatureRate> pacs = data.getPacs();
         List<FeatureRate> labs = data.getLabs();
         List<FeatureRate> other = data.getHistory();
-        Map<String, String> treat = data.getTreat();
+        Map<String, JSONObject> treat = data.getTreat();
 
         Map<String, Object> symptomMap = list2Map(symptom);
         Map<String, Object> labMap = list2Map(labs);

+ 11 - 4
icss-service/src/main/java/com/diagbot/facade/TreatmentFacade.java

@@ -1,5 +1,7 @@
 package com.diagbot.facade;
 
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.client.TreatServiceClient;
 import com.diagbot.client.bean.Medicition;
@@ -46,7 +48,7 @@ public class TreatmentFacade {
      * @param
      * @return
      */
-    public Map<String, Object> getTreatment(Map<String, String> treatmentMap, Long diseaseId) {
+    public Map<String, Object> getTreatment(Map<String, JSONObject> treatmentMap, Long diseaseId) {
         Map<String, Object> retMap = new LinkedHashMap<>();
         QuestionInfo disease = questionFacade.getById(diseaseId);
         if (disease == null) {
@@ -68,12 +70,17 @@ public class TreatmentFacade {
         retMap.put("surgeryTreatment", surgeryTreatmentDetailList.size() > 0 ? surgeryTreatmentDetailList.get(0).getContent() : "");
 
         //获取知识图谱治疗方案
-        String treatment = treatmentMap.get(disease.getTagName());
-        if (StringUtil.isBlank(treatment)) {
+        JSONObject diseaseJson = treatmentMap.get(disease.getTagName());
+        if (diseaseJson == null || diseaseJson.isEmpty()) {
             return retMap;
         }
 
-        List<MedicitionClass> drugsList = FastJsonUtils.getJsonToListByKey(treatment, "treatment", MedicitionClass.class);
+        JSONObject treatmentJson = diseaseJson.getJSONObject(disease.getTagName());
+        if (treatmentJson == null || treatmentJson.isEmpty()) {
+            return retMap;
+        }
+
+        List<MedicitionClass> drugsList = FastJsonUtils.getJsonToListByKey(treatmentJson.toString(), "treatment", MedicitionClass.class);
 
         List<String> classNameList = drugsList.stream().map(drugs -> drugs.getDrugsName()).collect(Collectors.toList());
         List<QuestionInfo> drugClassList = getTopQuestionList(classNameList, QuestionTypeEnum.DrugClass.getKey());