Browse Source

症状查询疾病方法更新

kongwz 4 years ago
parent
commit
334f095439

+ 7 - 2
src/main/java/com/diagbot/facade/NeoFacade.java

@@ -351,7 +351,8 @@ public class NeoFacade {
      */
     public List<String> pushDis(SymptomNameRepository symptomNameRepository,List<String> symptoms){
         List<String> allDis = Lists.newArrayList();
-        if(ListUtil.isNotEmpty(symptoms)){
+
+        /*if(ListUtil.isNotEmpty(symptoms)){
             symptoms.parallelStream().forEach(x ->{
                 List<Symptom> byNameIs = symptomNameRepository.findByNameIs(x);
                 if(ListUtil.isNotEmpty(byNameIs)){
@@ -361,7 +362,11 @@ public class NeoFacade {
                     allDis.addAll(diseases);
                 }
             });
-        }
+        }*/
+        List<Symptom> byNameIn = symptomNameRepository.findByNameIn(symptoms);
+        allDis = byNameIn.stream().filter(z -> z.getDisease() != null && z.getDisease().size() > 0)
+                .map(z -> z.getDisease().stream().map(y -> y.getName()).collect(Collectors.toList())).flatMap(List::stream)
+                .collect(Collectors.toList());
         return allDis;
     }
 

+ 2 - 0
src/main/java/com/diagbot/repository/SymptomNameRepository.java

@@ -10,6 +10,8 @@ public interface SymptomNameRepository extends Neo4jRepository<Symptom, Long> {
 
     List<Symptom> findByNameIs(String name);
 
+    List<Symptom> findByNameIn(List<String> names);
+
     List<Symptom> findByNameContaining(String name);
 }