Kaynağa Gözat

更新药品缓存

MarkHuang 4 yıl önce
ebeveyn
işleme
e47c40ca3b

+ 5 - 1
src/main/java/com/diagbot/facade/NeoFacade.java

@@ -105,7 +105,11 @@ public class NeoFacade {
         String med_name;
         String comma="::";
 
-        List<String> medClass = nodeRepository.getMedClass();
+        List<String> medClass = nodeRepository.getMedHuaXueClass();
+        medClass.addAll(nodeRepository.getMedYaoLiClass());
+        medClass.addAll(nodeRepository.getMedZhiLiaoClass());
+        medClass.addAll(nodeRepository.getMedJiePouClass());
+
 
         for (String medcls : medClass) {
             String[] spres = medcls.split(comma);

+ 13 - 1
src/main/java/com/diagbot/repository/BaseNodeRepository.java

@@ -14,9 +14,21 @@ public interface BaseNodeRepository extends Neo4jRepository<BaseNode, Long> {
     @Query("MATCH (n) RETURN DISTINCT(LABELS(n))")
     List<String> getLabels();
 
+    @Query("MATCH (c:药品化学物质类别)<-[r:药品相关药品化学物质类别]-(y:药品代码通用名)-[r1:药品相关药品通用名称]->(m:药品通用名称) " +
+            " RETURN DISTINCT(m.name)+'::'+c.name")
+    List<String> getMedHuaXueClass();
+
+    @Query("MATCH (c:药品治疗学类别)<-[r:药品相关药品治疗学类别]-(y:药品代码通用名)-[r1:药品相关药品通用名称]->(m:药品通用名称) " +
+            " RETURN DISTINCT(m.name)+'::'+c.name")
+    List<String> getMedZhiLiaoClass();
+
+    @Query("MATCH (c:药品药理学类别)<-[r:药品相关药品药理学类别]-(y:药品代码通用名)-[r1:药品相关药品通用名称]->(m:药品通用名称) " +
+            " RETURN DISTINCT(m.name)+'::'+c.name")
+    List<String> getMedYaoLiClass();
+
     @Query("MATCH (c:药品解剖学类别)<-[r:药品相关药品解剖学类别]-(y:药品代码通用名)-[r1:药品相关药品通用名称]->(m:药品通用名称) " +
             " RETURN DISTINCT(m.name)+'::'+c.name")
-    List<String> getMedClass();
+    List<String> getMedJiePouClass();
 
     @Query("match(s:症状) return distinct s.name")
     List<String> getSymptomClass();