ソースを参照

repository修改1

yuchengwei 5 ヶ月 前
コミット
e501260a6c
51 ファイル変更404 行追加1446 行削除
  1. 52 5
      pom.xml
  2. 33 33
      src/main/java/com/qizhen/healsphere/config/MybatisPlusConfigurer.java
  3. 1 1
      src/main/java/com/qizhen/healsphere/config/MysqlConfig.java
  4. 38 0
      src/main/java/com/qizhen/healsphere/config/Neo4jUtil.java
  5. 2 6
      src/main/java/com/qizhen/healsphere/facade/KgFacade.java
  6. 4 3
      src/main/java/com/qizhen/healsphere/repository/mapper/PresetInfoMapper.java
  7. 0 5
      src/main/java/com/qizhen/healsphere/repository/mapper/entity/PresetInfo.java
  8. 72 83
      src/main/java/com/qizhen/healsphere/repository/neo4j/BaseNodeRepository.java
  9. 38 56
      src/main/java/com/qizhen/healsphere/repository/neo4j/BasePropertyRepository.java
  10. 25 29
      src/main/java/com/qizhen/healsphere/repository/neo4j/BaseRelationshipRepository.java
  11. 0 15
      src/main/java/com/qizhen/healsphere/repository/neo4j/DiseaseRepository.java
  12. 0 10
      src/main/java/com/qizhen/healsphere/repository/neo4j/ZbyyRepository.java
  13. 0 8
      src/main/java/com/qizhen/healsphere/repository/neo4j/ZczzbfbzRepository.java
  14. 0 8
      src/main/java/com/qizhen/healsphere/repository/neo4j/ZdbzRepository.java
  15. 0 8
      src/main/java/com/qizhen/healsphere/repository/neo4j/ZdxgjcRepository.java
  16. 0 8
      src/main/java/com/qizhen/healsphere/repository/neo4j/ZlRepository.java
  17. 0 8
      src/main/java/com/qizhen/healsphere/repository/neo4j/ZlcsRepository.java
  18. 0 8
      src/main/java/com/qizhen/healsphere/repository/neo4j/ZlczRepository.java
  19. 0 8
      src/main/java/com/qizhen/healsphere/repository/neo4j/ZlfaRepository.java
  20. 0 8
      src/main/java/com/qizhen/healsphere/repository/neo4j/ZlfsRepository.java
  21. 0 8
      src/main/java/com/qizhen/healsphere/repository/neo4j/ZlmbRepository.java
  22. 0 8
      src/main/java/com/qizhen/healsphere/repository/neo4j/ZlqxRepository.java
  23. 0 8
      src/main/java/com/qizhen/healsphere/repository/neo4j/ZlxgjcRepository.java
  24. 0 8
      src/main/java/com/qizhen/healsphere/repository/neo4j/ZlyjRepository.java
  25. 0 8
      src/main/java/com/qizhen/healsphere/repository/neo4j/ZlywRepository.java
  26. 0 8
      src/main/java/com/qizhen/healsphere/repository/neo4j/ZlyzRepository.java
  27. 0 8
      src/main/java/com/qizhen/healsphere/repository/neo4j/ZzRepository.java
  28. 0 225
      src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Disease.java
  29. 0 51
      src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zbyy.java
  30. 0 51
      src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zczzbfbz.java
  31. 0 51
      src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zdbz.java
  32. 0 51
      src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zdxgjc.java
  33. 0 51
      src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zl.java
  34. 0 51
      src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zlcs.java
  35. 0 51
      src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zlcz.java
  36. 0 51
      src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zlfa.java
  37. 0 51
      src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zlfs.java
  38. 0 51
      src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zlmb.java
  39. 0 51
      src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zlqx.java
  40. 0 51
      src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zlxgjc.java
  41. 0 51
      src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zlyj.java
  42. 0 51
      src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zlyw.java
  43. 0 50
      src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zlyz.java
  44. 0 51
      src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zz.java
  45. 4 0
      src/main/java/com/qizhen/healsphere/service/KgService.java
  46. 2 2
      src/main/java/com/qizhen/healsphere/service/PresetInfoService.java
  47. 30 8
      src/main/java/com/qizhen/healsphere/service/impl/KgServiceImpl.java
  48. 10 3
      src/main/java/com/qizhen/healsphere/service/impl/PresetInfoServiceImpl.java
  49. 5 0
      src/main/resources/mapper/mysql/PresetInfoMapper.xml
  50. 26 27
      src/test/java/com/qizhen/healsphere/DiseaseTests.java
  51. 62 0
      src/test/java/com/qizhen/healsphere/KgGraphTests.java

+ 52 - 5
pom.xml

@@ -41,6 +41,12 @@
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-test</artifactId>
             <scope>test</scope>
+            <exclusions>
+                <exclusion>
+                    <artifactId>apiguardian-api</artifactId>
+                    <groupId>org.apiguardian</groupId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>junit</groupId>
@@ -50,11 +56,21 @@
 
 
 
-        <dependency>
-            <groupId>com.baomidou</groupId>
-            <artifactId>mybatis-plus-boot-starter</artifactId>
-            <version>3.1.2</version>
-        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>com.baomidou</groupId>-->
+<!--            <artifactId>mybatis-plus-boot-starter</artifactId>-->
+<!--            <version>3.1.2</version>-->
+<!--            <exclusions>-->
+<!--                <exclusion>-->
+<!--                    <artifactId>mybatis-spring</artifactId>-->
+<!--                    <groupId>org.mybatis</groupId>-->
+<!--                </exclusion>-->
+<!--                <exclusion>-->
+<!--                    <artifactId>mybatis</artifactId>-->
+<!--                    <groupId>org.mybatis</groupId>-->
+<!--                </exclusion>-->
+<!--            </exclusions>-->
+<!--        </dependency>-->
 
         <dependency>
             <groupId>org.mybatis.spring.boot</groupId>
@@ -77,10 +93,21 @@
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-data-neo4j</artifactId>
+            <exclusions>
+                <exclusion>
+                    <artifactId>apiguardian-api</artifactId>
+                    <groupId>org.apiguardian</groupId>
+                </exclusion>
+                <exclusion>
+                    <artifactId>neo4j-java-driver</artifactId>
+                    <groupId>org.neo4j.driver</groupId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>org.neo4j.driver</groupId>
             <artifactId>neo4j-java-driver</artifactId>
+            <version>1.6.3</version>
         </dependency>
         <dependency>
             <groupId>org.apache.poi</groupId>
@@ -101,6 +128,12 @@
             <groupId>us.codecraft</groupId>
             <artifactId>webmagic-core</artifactId>
             <version>0.9.0</version>
+            <exclusions>
+                <exclusion>
+                    <artifactId>fastjson</artifactId>
+                    <groupId>com.alibaba</groupId>
+                </exclusion>
+            </exclusions>
         </dependency>
         <dependency>
             <groupId>us.codecraft</groupId>
@@ -122,6 +155,20 @@
             <groupId>com.alibaba</groupId>
             <artifactId>easyexcel</artifactId>
             <version>4.0.3</version>
+            <exclusions>
+                <exclusion>
+                    <artifactId>poi</artifactId>
+                    <groupId>org.apache.poi</groupId>
+                </exclusion>
+                <exclusion>
+                    <artifactId>poi-ooxml</artifactId>
+                    <groupId>org.apache.poi</groupId>
+                </exclusion>
+                <exclusion>
+                    <artifactId>commons-io</artifactId>
+                    <groupId>commons-io</groupId>
+                </exclusion>
+            </exclusions>
         </dependency>
 
         <!--swagger-->

+ 33 - 33
src/main/java/com/qizhen/healsphere/config/MybatisPlusConfigurer.java

@@ -1,33 +1,33 @@
-package com.qizhen.healsphere.config;
-
-import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
-import org.mybatis.spring.annotation.MapperScan;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-/**
- * @Description: MybatisPlus配置类
- * @author: gaodm
- * @time: 2018/8/2 13:39
- */
-@EnableTransactionManagement
-@Configuration
-@MapperScan("com.qizhen.healsphere.repository.mapper*")//这个注解,作用相当于下面的@Bean MapperScannerConfigurer,2者配置1份即可
-public class MybatisPlusConfigurer {
-
-    /**
-     * mybatis-plus分页插件<br>
-     * 文档:http://mp.baomidou.com<br>
-     */
-    @Bean
-    public PaginationInterceptor paginationInterceptor() {
-        PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
-        // 设置请求的页面大于最大页后操作,true调回到首页,false继续请求,默认false
-        //paginationInterceptor.setOverflow(false);
-        // 设置最大单页限制数量,默认500条,-1不受限制
-        paginationInterceptor.setLimit(500L);
-        return paginationInterceptor;
-    }
-
-}
+//package com.qizhen.healsphere.config;
+//
+//import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
+//import org.mybatis.spring.annotation.MapperScan;
+//import org.springframework.context.annotation.Bean;
+//import org.springframework.context.annotation.Configuration;
+//import org.springframework.transaction.annotation.EnableTransactionManagement;
+//
+///**
+// * @Description: MybatisPlus配置类
+// * @author: gaodm
+// * @time: 2018/8/2 13:39
+// */
+//@EnableTransactionManagement
+//@Configuration
+//@MapperScan("com.qizhen.healsphere.repository.mapper*")//这个注解,作用相当于下面的@Bean MapperScannerConfigurer,2者配置1份即可
+//public class MybatisPlusConfigurer {
+//
+//    /**
+//     * mybatis-plus分页插件<br>
+//     * 文档:http://mp.baomidou.com<br>
+//     */
+//    @Bean
+//    public PaginationInterceptor paginationInterceptor() {
+//        PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
+//        // 设置请求的页面大于最大页后操作,true调回到首页,false继续请求,默认false
+//        //paginationInterceptor.setOverflow(false);
+//        // 设置最大单页限制数量,默认500条,-1不受限制
+//        paginationInterceptor.setLimit(500L);
+//        return paginationInterceptor;
+//    }
+//
+//}

+ 1 - 1
src/main/java/com/qizhen/healsphere/config/MysqlConfig.java

@@ -17,7 +17,7 @@ import javax.sql.DataSource;
 public class MysqlConfig {
 
     @Bean(name = "mysqlDataSource")
-    @ConfigurationProperties(prefix = "spring.datasource")
+    @ConfigurationProperties(prefix = "spring.datasource.hikari")
     public DataSource dataSource() {
         return DataSourceBuilder.create().build();
     }

+ 38 - 0
src/main/java/com/qizhen/healsphere/config/Neo4jUtil.java

@@ -0,0 +1,38 @@
+package com.qizhen.healsphere.config;
+
+import org.neo4j.driver.v1.AuthTokens;
+import org.neo4j.driver.v1.Driver;
+import org.neo4j.driver.v1.GraphDatabase;
+import org.neo4j.driver.v1.Session;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class Neo4jUtil {
+
+//    @Value("${spring.neo4j.uri}")
+//    private static String url = "bolt://173.18.12.194:7687";
+    private static String url = "bolt://172.16.8.59:7687";
+//    @Value("${spring.neo4j.authentication.username}")
+    private static String username = "neo4j";
+
+//    @Value("${spring.neo4j.authentication.password}")
+//    private static String password = "12345678";
+    private static String password = "1Qaz@wsx";
+
+    private static Driver driver;
+
+    static {
+        driver = GraphDatabase.driver(url, AuthTokens.basic(username, password));
+    }
+
+
+    public static Session getSession() {
+        return driver.session();
+    }
+
+    public static void closeDriver() {
+        if (driver!= null) {
+            driver.close();
+        }
+    }
+}

+ 2 - 6
src/main/java/com/qizhen/healsphere/facade/KgFacade.java

@@ -3,11 +3,9 @@ package com.qizhen.healsphere.facade;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.json.JSONUtil;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.qizhen.healsphere.repository.mapper.entity.PresetInfo;
-import com.qizhen.healsphere.common.enums.IsDeleteEnum;
 import com.qizhen.healsphere.common.exception.CommonErrorCode;
 import com.qizhen.healsphere.common.exception.CommonException;
+import com.qizhen.healsphere.repository.mapper.entity.PresetInfo;
 import com.qizhen.healsphere.service.impl.KgServiceImpl;
 import com.qizhen.healsphere.web.dto.*;
 import com.qizhen.healsphere.web.param.KgQuery;
@@ -101,9 +99,7 @@ public class KgFacade extends KgServiceImpl {
             // kgQueryVO.setLabelName("诊断依据");
             // kgQueryVO.setInputStr("诊断依据");
             // String tree = this.getTree(kgQueryVO);
-            PresetInfo presetInfo = presetInfoFacade.getOne(new QueryWrapper<PresetInfo>()
-                    .eq("is_deleted", IsDeleteEnum.N.getKey())
-                    .eq("type", (kgTree.getType() * 10 + kgTree.getSubType())), false);
+            PresetInfo presetInfo = presetInfoFacade.getPresetInfo((kgTree.getType() * 10 + kgTree.getSubType()));
             String tree = "";
             if (null != presetInfo){
                 tree = presetInfo.getContent();

+ 4 - 3
src/main/java/com/qizhen/healsphere/repository/mapper/PresetInfoMapper.java

@@ -1,7 +1,7 @@
 package com.qizhen.healsphere.repository.mapper;
 
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.qizhen.healsphere.repository.mapper.entity.PresetInfo;
+import org.apache.ibatis.annotations.Mapper;
 
 /**
  * <p>
@@ -11,6 +11,7 @@ import com.qizhen.healsphere.repository.mapper.entity.PresetInfo;
  * @author gaodm
  * @since 2020-03-31
  */
-public interface PresetInfoMapper extends BaseMapper<PresetInfo> {
-
+@Mapper
+public interface PresetInfoMapper {
+    PresetInfo getPresetInfoByType(Integer type);
 }

+ 0 - 5
src/main/java/com/qizhen/healsphere/repository/mapper/entity/PresetInfo.java

@@ -1,8 +1,5 @@
 package com.qizhen.healsphere.repository.mapper.entity;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
 
 import java.io.Serializable;
 import java.time.LocalDateTime;
@@ -15,7 +12,6 @@ import java.time.LocalDateTime;
  * @author gaodm
  * @since 2020-03-31
  */
-@TableName("ltkg_preset_info")
 public class PresetInfo implements Serializable {
 
     private static final long serialVersionUID = 1L;
@@ -23,7 +19,6 @@ public class PresetInfo implements Serializable {
     /**
      * 主键
      */
-    @TableId(value = "id", type = IdType.AUTO)
     private Long id;
 
     /**

+ 72 - 83
src/main/java/com/qizhen/healsphere/repository/neo4j/BaseNodeRepository.java

@@ -1,80 +1,72 @@
 package com.qizhen.healsphere.repository.neo4j;
 
-import org.neo4j.driver.types.Node;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.neo4j.core.Neo4jClient;
+import com.qizhen.healsphere.config.Neo4jUtil;
+import org.neo4j.driver.v1.Record;
+import org.neo4j.driver.v1.Session;
+import org.neo4j.driver.v1.StatementResult;
+import org.neo4j.driver.v1.Values;
+import org.neo4j.driver.v1.types.Node;
 import org.springframework.stereotype.Repository;
 
 import java.util.*;
-import java.util.stream.Collectors;
 
 @Repository
 public class BaseNodeRepository {
 
-    @Autowired
-    private Neo4jClient neo4jClient;
-
-    public BaseNodeRepository(Neo4jClient neo4jClient) {
-        this.neo4jClient = neo4jClient;
-    }
-
     public Map<String,Object> findNodeByName(String label,String name) {
         String query = String.format("MATCH (n:`%s`) WHERE n.name = $name and n.is_deleted = 'N' RETURN n", label);
-        Optional<Map> optionalMap = neo4jClient.query(query)
-                .bind(name).to("name")
-                .fetchAs(Map.class)
-                .mappedBy((typeSystem, record) -> {
-                    Node node = record.get("n").asNode();
-
-                    Map<String, Object> result = new HashMap<>();
-                    result.put("id", node.id());
-                    result.put("labels", node.labels()); // 获取节点的标签
-                    result.put("properties", node.asMap()); // 获取节点的属性
+        try(Session session = Neo4jUtil.getSession()) {
+            StatementResult result = session.run(query,Values.parameters("name", name));
+            Map<String,Object> map = new HashMap<>();
+            if(result.hasNext()) {
+                Node node = result.single().get("n").asNode();
+                map.put("id", node.id());
+                map.put("labels", node.labels());
+                map.put("properties", node.asMap());
+            }
+            return map;
 
-                    return result;
-                }).one();
-        return (Map<String, Object>) optionalMap.orElse(null);
+        }
 
     }
 
     public Map<String,Object> findNodeById(Long id) {
         String query = "MATCH (n) WHERE id(n) = $nodeId and n.is_deleted = 'N' RETURN n";
-        Optional<Map> optionalMap = neo4jClient.query(query)
-                .bind(id).to("nodeId")
-                .fetchAs(Map.class)
-                .mappedBy((typeSystem, record) -> {
-                    Node node = record.get("n").asNode();
-
-                    Map<String, Object> result = new HashMap<>();
-                    result.put("id", node.id());
-                    result.put("labels", node.labels()); // 获取节点的标签
-                    result.put("properties", node.asMap()); // 获取节点的属性
+        try(Session session = Neo4jUtil.getSession()) {
+            StatementResult result = session.run(query,Values.parameters("nodeId", id));
+            Map<String,Object> map = new HashMap<>();
+            if(result.hasNext()) {
+                Node node = result.single().get("n").asNode();
+                map.put("id", node.id());
+                map.put("labels", node.labels());
+                map.put("properties", node.asMap());
+            }
+            return map;
 
-                    return result;
-                }).one();
-        return (Map<String, Object>) optionalMap.orElse(null);
+        }
 
     }
 
     public List<Map<String,Object>> findNodeListByName(String label, String name) {
         String query = String.format("MATCH (n:`%s`) WHERE n.name =~ %s$name%s and n.is_deleted = 'N' RETURN n", label,".*",".*");
-        Collection<Map> mapCollection = neo4jClient.query(query)
-                .bind(name).to("name")
-                .fetchAs(Map.class)
-                .mappedBy((typeSystem, record) -> {
-                    Node node = record.get("n").asNode();
 
-                    Map<String, Object> result = new HashMap<>();
-                    result.put("id", node.id());
-                    result.put("labels", node.labels()); // 获取节点的标签
-                    result.put("properties", node.asMap()); // 获取节点的属性
+        try(Session session = Neo4jUtil.getSession()) {
+            StatementResult result = session.run(query,Values.parameters("name", name));
+            List<Map<String,Object>> listMap = new ArrayList<>();
+            if(result.hasNext()) {
+                List<Record> records = result.list();
+                for (Record record : records) {
+                    Map<String,Object> map = new HashMap<>();
+                    Node node = record.get("n").asNode();
+                    map.put("id", node.id());
+                    map.put("labels", node.labels());
+                    map.put("properties", node.asMap());
+                    listMap.add(map);
+                }
+            }
+            return listMap;
 
-                    return result;
-                }).all();
-        if (mapCollection.isEmpty()) {
-            return Collections.emptyList();
         }
-        return mapCollection.stream().map(e -> (Map<String, Object>) e).collect(Collectors.toList());
 
     }
 
@@ -88,46 +80,43 @@ public class BaseNodeRepository {
             createClause.setLength(createClause.length() - 2);
         }
 
-        String query = String.format("CREATE (n:`%s` { %s }) RETURN n", label, createClause);
+        String query = String.format("MERGE (n:`%s` { %s }) RETURN n", label, createClause);
 
-        return (Map<String, Object>) neo4jClient.query(query)
-                .bindAll(properties)
-                .fetchAs(Map.class).mappedBy((typeSystem, record) -> {
-                    Node node = record.get("n").asNode();
-
-                    Map<String, Object> result = new HashMap<>();
-                    result.put("id", node.id());
-                    result.put("labels", node.labels()); // 获取节点的标签
-                    result.put("properties", node.asMap()); // 获取节点的属性
+        try(Session session = Neo4jUtil.getSession()) {
+            StatementResult result = session.run(query);
+            Map<String,Object> map = new HashMap<>();
+            if(result.hasNext()) {
+                Node node = result.single().get("n").asNode();
+                map.put("id", node.id());
+                map.put("labels", node.labels());
+                map.put("properties", node.asMap());
+            }
+            return map;
 
-                    return result;
-                }).one().orElse(null);
+        }
     }
 
     public Map<String, Object> updateNode(Long nodeId, String name) {
-
         String query = "MATCH (n) WHERE id(n) = $nodeId SET n.name=$name RETURN n";
-
-        return neo4jClient.query(query)
-                .bind(nodeId).to("nodeId")
-                .bind(name).to("name")
-                .fetchAs(Map.class).mappedBy((typeSystem, record) -> {
-                    Node node = record.get("n").asNode();
-
-                    Map<String, Object> result = new HashMap<>();
-                    result.put("id", node.id());
-                    result.put("labels", node.labels()); // 获取节点的标签
-                    result.put("properties", node.asMap()); // 获取节点的属性
-
-                    return result;
-                }).one().orElse(null);
+        try(Session session = Neo4jUtil.getSession()) {
+            StatementResult result = session.run(query,Values.parameters("name", name));
+            Map<String,Object> map = new HashMap<>();
+            if(result.hasNext()) {
+                Node node = result.single().get("n").asNode();
+                map.put("id", node.id());
+                map.put("labels", node.labels());
+                map.put("properties", node.asMap());
+            }
+            return map;
+        }
     }
 
     public void deleteNode(Long nodeId) {
-        String query = "MATCH (n) WHERE id(n) = $nodeId SET n.is_deleted = 'Y'";
-
-        neo4jClient.query(query)
-                .bind(nodeId).to("nodeId")
-                .run();
+        String query = "MATCH (n) WHERE id(n) = $nodeId SET n.is_deleted = 'Y' " +
+                "WITH n MATCH (n)-[r]-() " +
+                "DELETE r";
+        try(Session session = Neo4jUtil.getSession()) {
+            session.run(query,Values.parameters("nodeId", nodeId));
+        }
     }
 }

+ 38 - 56
src/main/java/com/qizhen/healsphere/repository/neo4j/BasePropertyRepository.java

@@ -1,23 +1,18 @@
 package com.qizhen.healsphere.repository.neo4j;
 
-import org.neo4j.driver.types.Node;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.neo4j.core.Neo4jClient;
+import com.qizhen.healsphere.config.Neo4jUtil;
+import org.neo4j.driver.v1.Session;
+import org.neo4j.driver.v1.StatementResult;
+import org.neo4j.driver.v1.Values;
+import org.neo4j.driver.v1.types.Node;
 import org.springframework.stereotype.Repository;
 
 import java.util.HashMap;
 import java.util.Map;
-import java.util.Optional;
 
 @Repository
 public class BasePropertyRepository {
 
-    @Autowired
-    private Neo4jClient neo4jClient;
-
-    public BasePropertyRepository(Neo4jClient neo4jClient) {
-        this.neo4jClient = neo4jClient;
-    }
 
     public Map<String,Object> createProperty(String label, Long nodeId, Map<String, Object> properties) {
         StringBuilder setClause = new StringBuilder();
@@ -30,63 +25,50 @@ public class BasePropertyRepository {
 
         String query = String.format("MATCH (n:`%s`) WHERE id(n) = $nodeId SET %s RETURN n", label, setClause);
 
-        Optional<Map> optionalMap = neo4jClient.query(query)
-                .bindAll(properties)
-                .bind(nodeId).to("nodeId")
-                .fetchAs(Map.class)
-                .mappedBy((typeSystem, record) -> {
-                    Node node = record.get("n").asNode();
-
-                    Map<String, Object> result = new HashMap<>();
-                    result.put("id", node.id());
-                    result.put("labels", node.labels()); // 获取节点的标签
-                    result.put("properties", node.asMap()); // 获取节点的属性
+        try(Session session = Neo4jUtil.getSession()) {
+            StatementResult result = session.run(query, Values.parameters("nodeId", nodeId));
+            Map<String,Object> map = new HashMap<>();
+            if(result.hasNext()) {
+                Node node = result.single().get("n").asNode();
+                map.put("id", node.id());
+                map.put("labels", node.labels());
+                map.put("properties", node.asMap());
+            }
+            return map;
 
-                    return result;
-                }).one();
-        return (Map<String, Object>) optionalMap.orElse(null);
+        }
     }
 
     public Map<String,Object> deleteProperty(String label, Long nodeId,String propertyName) {
         String query = String.format("MATCH (n:`%s`) WHERE id(n) = $nodeId REMOVE n.%s RETURN n", label,propertyName);
 
-        Optional<Map> optionalMap = neo4jClient.query(query)
-                .bind(nodeId).to("nodeId")
-//                .bind(propertyName).to("propertyName")
-                .fetchAs(Map.class)
-                .mappedBy((typeSystem, record) -> {
-                    Node node = record.get("n").asNode();
-
-                    Map<String, Object> result = new HashMap<>();
-                    result.put("id", node.id());
-                    result.put("labels", node.labels()); // 获取节点的标签
-                    result.put("properties", node.asMap()); // 获取节点的属性
-
-                    return result;
-                }).one();
-        return (Map<String, Object>) optionalMap.orElse(null);
+        try(Session session = Neo4jUtil.getSession()) {
+            StatementResult result = session.run(query,Values.parameters("nodeId", nodeId));
+            Map<String,Object> map = new HashMap<>();
+            if(result.hasNext()) {
+                Node node = result.single().get("n").asNode();
+                map.put("id", node.id());
+                map.put("labels", node.labels());
+                map.put("properties", node.asMap());
+            }
+            return map;
+        }
     }
 
     public Map<String,Object> updateProperty(String label,Long nodeId,String oldPropertyName,String newPropertyName,String newPropertyValue) {
         String query = String.format("MATCH (n:`%s`) WHERE id(n) = $nodeId REMOVE n.%s " +
                 "SET n.%s = $newPropertyValue RETURN n", label,oldPropertyName,newPropertyName);
-        Optional<Map> optionalMap = neo4jClient.query(query)
-                .bind(nodeId).to("nodeId")
-//                .bind(oldPropertyName).to("oldPropertyName")
-//                .bind(newPropertyName).to("newPropertyName")
-                .bind(newPropertyValue).to("newPropertyValue")
-                .fetchAs(Map.class)
-                .mappedBy((typeSystem, record) -> {
-                    Node node = record.get("n").asNode();
-
-                    Map<String, Object> result = new HashMap<>();
-                    result.put("id", node.id());
-                    result.put("labels", node.labels()); // 获取节点的标签
-                    result.put("properties", node.asMap()); // 获取节点的属性
-
-                    return result;
-                }).one();
-        return (Map<String, Object>) optionalMap.orElse(null);
 
+        try(Session session = Neo4jUtil.getSession()) {
+            StatementResult result = session.run(query,Values.parameters("nodeId", nodeId,"newPropertyValue", newPropertyValue));
+            Map<String,Object> map = new HashMap<>();
+            if(result.hasNext()) {
+                Node node = result.single().get("n").asNode();
+                map.put("id", node.id());
+                map.put("labels", node.labels());
+                map.put("properties", node.asMap());
+            }
+            return map;
+        }
     }
 }

+ 25 - 29
src/main/java/com/qizhen/healsphere/repository/neo4j/BaseRelationshipRepository.java

@@ -1,24 +1,19 @@
 package com.qizhen.healsphere.repository.neo4j;
 
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.neo4j.core.Neo4jClient;
+import com.qizhen.healsphere.config.Neo4jUtil;
+import org.neo4j.driver.v1.*;
+import org.neo4j.driver.v1.types.Node;
 import org.springframework.stereotype.Repository;
 
 import java.util.*;
+import java.util.stream.Collectors;
 
 @Repository
 public class BaseRelationshipRepository {
 
-    @Autowired
-    private Neo4jClient neo4jClient;
-
-    public BaseRelationshipRepository(Neo4jClient neo4jClient) {
-        this.neo4jClient = neo4jClient;
-    }
-
     public void createRelationship(String startLabel, Long startId, String endLabel, Long endId, String relationshipType, Map<String, Object> properties) {
         StringBuilder setClause = new StringBuilder();
-        properties.forEach((key, value) -> setClause.append("r.").append(key).append(" = $").append(key).append(", "));
+        properties.forEach((key, value) -> setClause.append("r.").append(key).append(" = '").append(value).append("'").append(", "));
 
         if (setClause.length() > 0) {
             setClause.setLength(setClause.length() - 2);
@@ -26,16 +21,14 @@ public class BaseRelationshipRepository {
 
         String query = String.format(
                 "MATCH (a:`%s`), (b:`%s`) WHERE id(a) = $startId AND id(b) = $endId " +
-                        "CREATE (a)-[r:`%s`]->(b) " +
+                        "MERGE (a)-[r:`%s`]->(b) " +
                         "SET %s RETURN r",
                 startLabel, endLabel, relationshipType, setClause
         );
 
-        neo4jClient.query(query)
-                .bind(startId).to("startId")
-                .bind(endId).to("endId")
-                .bindAll(properties)
-                .run();
+        try(Session session = Neo4jUtil.getSession()) {
+            session.run(query, Values.parameters("startId", startId,"endId",endId));
+        }
     }
 
     public void updateRelationship(String oldRelationshipType, String newRelationshipType) {
@@ -48,22 +41,26 @@ public class BaseRelationshipRepository {
                 oldRelationshipType, newRelationshipType
         );
 
-        neo4jClient.query(query)
-                .run();
+        try(Session session = Neo4jUtil.getSession()) {
+            session.run(query);
+        }
     }
 
     public List<String> findRelationshipNames(String name) {
 
         String query = "match ()-[r]-() where type(r) contains $name return distinct type(r)";
 
-        Collection<String> collection = neo4jClient.query(query)
-                .bind(name).to("name")
-                .fetchAs(String.class)
-                .all();
-        if (collection.isEmpty()) {
-            return Collections.emptyList();
+        try(Session session = Neo4jUtil.getSession()) {
+            StatementResult result = session.run(query, Values.parameters("name", name));
+            List<String> list = new ArrayList<>();
+            if(result.hasNext()) {
+                List<Record> records = result.list();
+                for (Record record : records) {
+                    list.addAll(record.values().stream().map(Value::asString).collect(Collectors.toList()));
+                }
+            }
+            return list;
         }
-        return new ArrayList<>(collection);
     }
 
 
@@ -74,9 +71,8 @@ public class BaseRelationshipRepository {
                 startLabel, relationshipType, endLabel
         );
 
-        neo4jClient.query(query)
-                .bind(startId).to("startId")
-                .bind(endId).to("endId")
-                .run();
+        try(Session session = Neo4jUtil.getSession()) {
+            session.run(query, Values.parameters("startId", startId,"endId",endId));
+        }
     }
 }

+ 0 - 15
src/main/java/com/qizhen/healsphere/repository/neo4j/DiseaseRepository.java

@@ -1,15 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j;
-
-
-import com.qizhen.healsphere.repository.neo4j.entity.Disease;
-import org.springframework.data.neo4j.repository.Neo4jRepository;
-import org.springframework.data.neo4j.repository.query.Query;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface DiseaseRepository extends Neo4jRepository<Disease, Long> {
-
-    Disease findByName(String name);
-
-//    void update(Disease disease);
-}

+ 0 - 10
src/main/java/com/qizhen/healsphere/repository/neo4j/ZbyyRepository.java

@@ -1,10 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j;
-
-import com.qizhen.healsphere.repository.neo4j.entity.Zbyy;
-import org.springframework.data.neo4j.repository.Neo4jRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface ZbyyRepository extends Neo4jRepository<Zbyy, Long> {
-
-}

+ 0 - 8
src/main/java/com/qizhen/healsphere/repository/neo4j/ZczzbfbzRepository.java

@@ -1,8 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j;
-
-import com.qizhen.healsphere.repository.neo4j.entity.Zczzbfbz;
-import org.springframework.data.repository.CrudRepository;
-
-public interface ZczzbfbzRepository extends CrudRepository<Zczzbfbz, Long> {
-
-}

+ 0 - 8
src/main/java/com/qizhen/healsphere/repository/neo4j/ZdbzRepository.java

@@ -1,8 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j;
-
-import com.qizhen.healsphere.repository.neo4j.entity.Zdbz;
-import org.springframework.data.repository.CrudRepository;
-
-public interface ZdbzRepository extends CrudRepository<Zdbz, Long> {
-
-}

+ 0 - 8
src/main/java/com/qizhen/healsphere/repository/neo4j/ZdxgjcRepository.java

@@ -1,8 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j;
-
-import com.qizhen.healsphere.repository.neo4j.entity.Zdxgjc;
-import org.springframework.data.repository.CrudRepository;
-
-public interface ZdxgjcRepository extends CrudRepository<Zdxgjc, Long> {
-
-}

+ 0 - 8
src/main/java/com/qizhen/healsphere/repository/neo4j/ZlRepository.java

@@ -1,8 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j;
-
-import com.qizhen.healsphere.repository.neo4j.entity.Zl;
-import org.springframework.data.repository.CrudRepository;
-
-public interface ZlRepository extends CrudRepository<Zl, Long> {
-
-}

+ 0 - 8
src/main/java/com/qizhen/healsphere/repository/neo4j/ZlcsRepository.java

@@ -1,8 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j;
-
-import com.qizhen.healsphere.repository.neo4j.entity.Zlcs;
-import org.springframework.data.repository.CrudRepository;
-
-public interface ZlcsRepository extends CrudRepository<Zlcs, Long> {
-
-}

+ 0 - 8
src/main/java/com/qizhen/healsphere/repository/neo4j/ZlczRepository.java

@@ -1,8 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j;
-
-import com.qizhen.healsphere.repository.neo4j.entity.Zlcz;
-import org.springframework.data.repository.CrudRepository;
-
-public interface ZlczRepository extends CrudRepository<Zlcz, Long> {
-
-}

+ 0 - 8
src/main/java/com/qizhen/healsphere/repository/neo4j/ZlfaRepository.java

@@ -1,8 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j;
-
-import com.qizhen.healsphere.repository.neo4j.entity.Zlfa;
-import org.springframework.data.repository.CrudRepository;
-
-public interface ZlfaRepository extends CrudRepository<Zlfa, Long> {
-
-}

+ 0 - 8
src/main/java/com/qizhen/healsphere/repository/neo4j/ZlfsRepository.java

@@ -1,8 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j;
-
-import com.qizhen.healsphere.repository.neo4j.entity.Zlfs;
-import org.springframework.data.repository.CrudRepository;
-
-public interface ZlfsRepository extends CrudRepository<Zlfs, Long> {
-
-}

+ 0 - 8
src/main/java/com/qizhen/healsphere/repository/neo4j/ZlmbRepository.java

@@ -1,8 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j;
-
-import com.qizhen.healsphere.repository.neo4j.entity.Zlmb;
-import org.springframework.data.repository.CrudRepository;
-
-public interface ZlmbRepository extends CrudRepository<Zlmb, Long> {
-
-}

+ 0 - 8
src/main/java/com/qizhen/healsphere/repository/neo4j/ZlqxRepository.java

@@ -1,8 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j;
-
-import com.qizhen.healsphere.repository.neo4j.entity.Zlqx;
-import org.springframework.data.repository.CrudRepository;
-
-public interface ZlqxRepository extends CrudRepository<Zlqx, Long> {
-
-}

+ 0 - 8
src/main/java/com/qizhen/healsphere/repository/neo4j/ZlxgjcRepository.java

@@ -1,8 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j;
-
-import com.qizhen.healsphere.repository.neo4j.entity.Zlxgjc;
-import org.springframework.data.repository.CrudRepository;
-
-public interface ZlxgjcRepository extends CrudRepository<Zlxgjc, Long> {
-
-}

+ 0 - 8
src/main/java/com/qizhen/healsphere/repository/neo4j/ZlyjRepository.java

@@ -1,8 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j;
-
-import com.qizhen.healsphere.repository.neo4j.entity.Zlyj;
-import org.springframework.data.repository.CrudRepository;
-
-public interface ZlyjRepository extends CrudRepository<Zlyj, Long> {
-
-}

+ 0 - 8
src/main/java/com/qizhen/healsphere/repository/neo4j/ZlywRepository.java

@@ -1,8 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j;
-
-import com.qizhen.healsphere.repository.neo4j.entity.Zlyw;
-import org.springframework.data.repository.CrudRepository;
-
-public interface ZlywRepository extends CrudRepository<Zlyw, Long> {
-
-}

+ 0 - 8
src/main/java/com/qizhen/healsphere/repository/neo4j/ZlyzRepository.java

@@ -1,8 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j;
-
-import com.qizhen.healsphere.repository.neo4j.entity.Zlyz;
-import org.springframework.data.repository.CrudRepository;
-
-public interface ZlyzRepository extends CrudRepository<Zlyz, Long> {
-
-}

+ 0 - 8
src/main/java/com/qizhen/healsphere/repository/neo4j/ZzRepository.java

@@ -1,8 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j;
-
-import com.qizhen.healsphere.repository.neo4j.entity.Zz;
-import org.springframework.data.repository.CrudRepository;
-
-public interface ZzRepository extends CrudRepository<Zz, Long> {
-
-}

+ 0 - 225
src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Disease.java

@@ -1,225 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j.entity;
-
-import org.springframework.data.neo4j.core.schema.GeneratedValue;
-import org.springframework.data.neo4j.core.schema.Id;
-import org.springframework.data.neo4j.core.schema.Node;
-import org.springframework.data.neo4j.core.schema.Relationship;
-
-import java.util.HashSet;
-import java.util.Set;
-
-@Node("疾病名称")
-public class Disease {
-
-    @Id
-    @GeneratedValue
-    private Long id;
-
-    private String name;
-
-    private String icd10;
-
-
-    public Disease() {// 从 Neo4j API 2.0.5开始需要无参构造函数
-
-    }
-
-    public Disease(String name, String icd10) {
-        this.name = name;
-        this.icd10 = icd10;
-    }
-    
-    
-    @Relationship(type = "疾病相关诊疗操作")
-    public Set<Zlcz> zlczs;
-
-    public void addZlcz(Zlcz zlcz) {
-        if (zlczs == null) {
-            zlczs = new HashSet<>();
-        }
-        zlczs.add(zlcz);
-    }
-    
-    
-    @Relationship(type = "疾病相关治疗方案")
-    public Set<Zlfa> zlfas;
-
-    public void addZlfa(Zlfa zlfa) {
-        if (zlfas == null) {
-            zlfas = new HashSet<>();
-        }
-        zlfas.add(zlfa);
-    }
-
-    @Relationship(type = "疾病相关诊断标准")
-    public Set<Zdbz> zdbzs;
-
-    public void addZdbz(Zdbz zdbz) {
-        if (zdbzs == null) {
-            zdbzs = new HashSet<>();
-        }
-        zdbzs.add(zdbz);
-    }
-
-
-    @Relationship(type = "疾病相关治疗目标")
-    public Set<Zlmb> zlmbs;
-
-    public void addZlmb(Zlmb zlmb) {
-        if (zlmbs == null) {
-            zlmbs = new HashSet<>();
-        }
-        zlmbs.add(zlmb);
-    }
-
-    @Relationship(type = "疾病相关治疗方式")
-    public Set<Zlfs> zlfss;
-
-    public void addZlfs(Zlfs zlfs) {
-        if (zlfss == null) {
-            zlfss = new HashSet<>();
-        }
-        zlfss.add(zlfs);
-    }
-
-
-    @Relationship(type = "疾病相关治疗相关检查")
-    public Set<Zlxgjc> zlxgjcs;
-
-    public void addZlxgjc(Zlxgjc zlxgjc) {
-        if (zlxgjcs == null) {
-            zlxgjcs = new HashSet<>();
-        }
-        zlxgjcs.add(zlxgjc);
-    }
-
-    @Relationship(type = "疾病相关致病原因")
-    public Set<Zbyy> zbyys;
-
-    public void addZbyy(Zbyy zbyy) {
-        if (zbyys == null) {
-            zbyys = new HashSet<>();
-        }
-        zbyys.add(zbyy);
-    }
-
-
-    @Relationship(type = "疾病相关治疗原则")
-    public Set<Zlyz> zlyzs;
-
-    public void addZlyz(Zlyz zlyz) {
-        if (zlyzs == null) {
-            zlyzs = new HashSet<>();
-        }
-        zlyzs.add(zlyz);
-    }
-
-    @Relationship(type = "疾病相关诊疗依据")
-    public Set<Zlyj> zlyjs;
-
-    public void addZlyj(Zlyj zlyj) {
-        if (zlyjs == null) {
-            zlyjs = new HashSet<>();
-        }
-        zlyjs.add(zlyj);
-    }
-
-
-    @Relationship(type = "疾病相关治疗场所")
-    public Set<Zlcs> zlcss;
-
-    public void addZlcs(Zlcs zlcs) {
-        if (zlcss == null) {
-            zlcss = new HashSet<>();
-        }
-        zlcss.add(zlcs);
-    }
-
-    @Relationship(type = "疾病相关子类")
-    public Set<Zl> zls;
-
-    public void addZl(Zl zl) {
-        if (zls == null) {
-            zls = new HashSet<>();
-        }
-        zls.add(zl);
-    }
-
-
-    @Relationship(type = "疾病相关治疗器械")
-    public Set<Zlqx> zlqxs;
-
-    public void addZlqx(Zlqx zlqx) {
-        if (zlqxs == null) {
-            zlqxs = new HashSet<>();
-        }
-        zlqxs.add(zlqx);
-    }
-
-    @Relationship(type = "疾病相关治疗药物")
-    public Set<Zlyw> zlyws;
-
-    public void addZlyw(Zlyw zlyw) {
-        if (zlyws == null) {
-            zlyws = new HashSet<>();
-        }
-        zlyws.add(zlyw);
-    }
-
-
-    @Relationship(type = "疾病相关转出重症病房标准")
-    public Set<Zczzbfbz> zczzbfbzs;
-
-    public void addZczzbfbz(Zczzbfbz zczzbfbz) {
-        if (zczzbfbzs == null) {
-            zczzbfbzs = new HashSet<>();
-        }
-        zczzbfbzs.add(zczzbfbz);
-    }
-
-    @Relationship(type = "疾病相关诊断相关检查")
-    public Set<Zdxgjc> zdxgjcs;
-
-    public void addZdxgjc(Zdxgjc zdxgjc) {
-        if (zdxgjcs == null) {
-            zdxgjcs = new HashSet<>();
-        }
-        zdxgjcs.add(zdxgjc);
-    }
-
-
-    @Relationship(type = "疾病相关症状")
-    public Set<Zz> zzs;
-
-    public void addZz(Zz zz) {
-        if (zzs == null) {
-            zzs = new HashSet<>();
-        }
-        zzs.add(zz);
-    }
-    
-   
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getIcd10() {
-        return icd10;
-    }
-
-    public void setIcd10(String icd10) {
-        this.icd10 = icd10;
-    }
-}

+ 0 - 51
src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zbyy.java

@@ -1,51 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j.entity;
-
-
-import org.springframework.data.neo4j.core.schema.GeneratedValue;
-import org.springframework.data.neo4j.core.schema.Id;
-import org.springframework.data.neo4j.core.schema.Node;
-
-@Node("致病原因")
-public class Zbyy {
-    @Id
-    @GeneratedValue
-    private Long id;
-
-    private String name;
-
-    private String description;
-
-    public Zbyy() {
-
-    }
-
-    public Zbyy(String name, String description) {
-        this.name = name;
-        this.description = description;
-    }
-
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public void setDescription(String description) {
-        this.description = description;
-    }
-}

+ 0 - 51
src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zczzbfbz.java

@@ -1,51 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j.entity;
-
-
-import org.springframework.data.neo4j.core.schema.GeneratedValue;
-import org.springframework.data.neo4j.core.schema.Id;
-import org.springframework.data.neo4j.core.schema.Node;
-
-@Node("转出重症病房标准")
-public class Zczzbfbz {
-    @Id
-    @GeneratedValue
-    private Long id;
-
-    private String name;
-
-    private String description;
-
-    public Zczzbfbz() {
-
-    }
-
-    public Zczzbfbz(String name, String description) {
-        this.name = name;
-        this.description = description;
-    }
-
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public void setDescription(String description) {
-        this.description = description;
-    }
-}

+ 0 - 51
src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zdbz.java

@@ -1,51 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j.entity;
-
-
-import org.springframework.data.neo4j.core.schema.GeneratedValue;
-import org.springframework.data.neo4j.core.schema.Id;
-import org.springframework.data.neo4j.core.schema.Node;
-
-@Node("诊断标准")
-public class Zdbz {
-    @Id
-    @GeneratedValue
-    private Long id;
-
-    private String name;
-
-    private String description;
-
-    public Zdbz() {
-
-    }
-
-    public Zdbz(String name, String description) {
-        this.name = name;
-        this.description = description;
-    }
-
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public void setDescription(String description) {
-        this.description = description;
-    }
-}

+ 0 - 51
src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zdxgjc.java

@@ -1,51 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j.entity;
-
-
-import org.springframework.data.neo4j.core.schema.GeneratedValue;
-import org.springframework.data.neo4j.core.schema.Id;
-import org.springframework.data.neo4j.core.schema.Node;
-
-@Node("诊断相关检查")
-public class Zdxgjc {
-    @Id
-    @GeneratedValue
-    private Long id;
-
-    private String name;
-
-    private String description;
-
-    public Zdxgjc() {
-
-    }
-
-    public Zdxgjc(String name, String description) {
-        this.name = name;
-        this.description = description;
-    }
-
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public void setDescription(String description) {
-        this.description = description;
-    }
-}

+ 0 - 51
src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zl.java

@@ -1,51 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j.entity;
-
-
-import org.springframework.data.neo4j.core.schema.GeneratedValue;
-import org.springframework.data.neo4j.core.schema.Id;
-import org.springframework.data.neo4j.core.schema.Node;
-
-@Node("子类")
-public class Zl {
-    @Id
-    @GeneratedValue
-    private Long id;
-
-    private String name;
-
-    private String description;
-
-    public Zl() {
-
-    }
-
-    public Zl(String name, String description) {
-        this.name = name;
-        this.description = description;
-    }
-
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public void setDescription(String description) {
-        this.description = description;
-    }
-}

+ 0 - 51
src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zlcs.java

@@ -1,51 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j.entity;
-
-
-import org.springframework.data.neo4j.core.schema.GeneratedValue;
-import org.springframework.data.neo4j.core.schema.Id;
-import org.springframework.data.neo4j.core.schema.Node;
-
-@Node("治疗场所")
-public class Zlcs {
-    @Id
-    @GeneratedValue
-    private Long id;
-
-    private String name;
-
-    private String description;
-
-    public Zlcs() {
-
-    }
-
-    public Zlcs(String name, String description) {
-        this.name = name;
-        this.description = description;
-    }
-
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public void setDescription(String description) {
-        this.description = description;
-    }
-}

+ 0 - 51
src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zlcz.java

@@ -1,51 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j.entity;
-
-
-import org.springframework.data.neo4j.core.schema.GeneratedValue;
-import org.springframework.data.neo4j.core.schema.Id;
-import org.springframework.data.neo4j.core.schema.Node;
-
-@Node("诊疗操作")
-public class Zlcz {
-    @Id
-    @GeneratedValue
-    private Long id;
-
-    private String name;
-
-    private String description;
-
-    public Zlcz() {
-
-    }
-
-    public Zlcz(String name, String description) {
-        this.name = name;
-        this.description = description;
-    }
-
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public void setDescription(String description) {
-        this.description = description;
-    }
-}

+ 0 - 51
src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zlfa.java

@@ -1,51 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j.entity;
-
-
-import org.springframework.data.neo4j.core.schema.GeneratedValue;
-import org.springframework.data.neo4j.core.schema.Id;
-import org.springframework.data.neo4j.core.schema.Node;
-
-@Node("治疗方案")
-public class Zlfa {
-    @Id
-    @GeneratedValue
-    private Long id;
-
-    private String name;
-
-    private String description;
-
-    public Zlfa() {
-
-    }
-
-    public Zlfa(String name, String description) {
-        this.name = name;
-        this.description = description;
-    }
-
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public void setDescription(String description) {
-        this.description = description;
-    }
-}

+ 0 - 51
src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zlfs.java

@@ -1,51 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j.entity;
-
-
-import org.springframework.data.neo4j.core.schema.GeneratedValue;
-import org.springframework.data.neo4j.core.schema.Id;
-import org.springframework.data.neo4j.core.schema.Node;
-
-@Node("治疗方式")
-public class Zlfs {
-    @Id
-    @GeneratedValue
-    private Long id;
-
-    private String name;
-
-    private String description;
-
-    public Zlfs() {
-
-    }
-
-    public Zlfs(String name, String description) {
-        this.name = name;
-        this.description = description;
-    }
-
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public void setDescription(String description) {
-        this.description = description;
-    }
-}

+ 0 - 51
src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zlmb.java

@@ -1,51 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j.entity;
-
-
-import org.springframework.data.neo4j.core.schema.GeneratedValue;
-import org.springframework.data.neo4j.core.schema.Id;
-import org.springframework.data.neo4j.core.schema.Node;
-
-@Node("治疗目标")
-public class Zlmb {
-    @Id
-    @GeneratedValue
-    private Long id;
-
-    private String name;
-
-    private String description;
-
-    public Zlmb() {
-
-    }
-
-    public Zlmb(String name, String description) {
-        this.name = name;
-        this.description = description;
-    }
-
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public void setDescription(String description) {
-        this.description = description;
-    }
-}

+ 0 - 51
src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zlqx.java

@@ -1,51 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j.entity;
-
-
-import org.springframework.data.neo4j.core.schema.GeneratedValue;
-import org.springframework.data.neo4j.core.schema.Id;
-import org.springframework.data.neo4j.core.schema.Node;
-
-@Node("治疗器械")
-public class Zlqx {
-    @Id
-    @GeneratedValue
-    private Long id;
-
-    private String name;
-
-    private String description;
-
-    public Zlqx() {
-
-    }
-
-    public Zlqx(String name, String description) {
-        this.name = name;
-        this.description = description;
-    }
-
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public void setDescription(String description) {
-        this.description = description;
-    }
-}

+ 0 - 51
src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zlxgjc.java

@@ -1,51 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j.entity;
-
-
-import org.springframework.data.neo4j.core.schema.GeneratedValue;
-import org.springframework.data.neo4j.core.schema.Id;
-import org.springframework.data.neo4j.core.schema.Node;
-
-@Node("治疗相关检查")
-public class Zlxgjc {
-    @Id
-    @GeneratedValue
-    private Long id;
-
-    private String name;
-
-    private String description;
-
-    public Zlxgjc() {
-
-    }
-
-    public Zlxgjc(String name, String description) {
-        this.name = name;
-        this.description = description;
-    }
-
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public void setDescription(String description) {
-        this.description = description;
-    }
-}

+ 0 - 51
src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zlyj.java

@@ -1,51 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j.entity;
-
-
-import org.springframework.data.neo4j.core.schema.GeneratedValue;
-import org.springframework.data.neo4j.core.schema.Id;
-import org.springframework.data.neo4j.core.schema.Node;
-
-@Node("诊疗依据")
-public class Zlyj {
-    @Id
-    @GeneratedValue
-    private Long id;
-
-    private String name;
-
-    private String description;
-
-    public Zlyj() {
-
-    }
-
-    public Zlyj(String name, String description) {
-        this.name = name;
-        this.description = description;
-    }
-
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public void setDescription(String description) {
-        this.description = description;
-    }
-}

+ 0 - 51
src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zlyw.java

@@ -1,51 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j.entity;
-
-
-import org.springframework.data.neo4j.core.schema.GeneratedValue;
-import org.springframework.data.neo4j.core.schema.Id;
-import org.springframework.data.neo4j.core.schema.Node;
-
-@Node("治疗药物")
-public class Zlyw {
-    @Id
-    @GeneratedValue
-    private Long id;
-
-    private String name;
-
-    private String description;
-
-    public Zlyw() {
-
-    }
-
-    public Zlyw(String name, String description) {
-        this.name = name;
-        this.description = description;
-    }
-
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public void setDescription(String description) {
-        this.description = description;
-    }
-}

+ 0 - 50
src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zlyz.java

@@ -1,50 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j.entity;
-
-import org.springframework.data.neo4j.core.schema.GeneratedValue;
-import org.springframework.data.neo4j.core.schema.Id;
-import org.springframework.data.neo4j.core.schema.Node;
-
-@Node("治疗原则")
-public class Zlyz {
-    @Id
-    @GeneratedValue
-    private Long id;
-
-    private String name;
-
-    private String description;
-
-    public Zlyz() {
-
-    }
-
-    public Zlyz(String name, String description) {
-        this.name = name;
-        this.description = description;
-    }
-
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public void setDescription(String description) {
-        this.description = description;
-    }
-}

+ 0 - 51
src/main/java/com/qizhen/healsphere/repository/neo4j/entity/Zz.java

@@ -1,51 +0,0 @@
-package com.qizhen.healsphere.repository.neo4j.entity;
-
-
-import org.springframework.data.neo4j.core.schema.GeneratedValue;
-import org.springframework.data.neo4j.core.schema.Id;
-import org.springframework.data.neo4j.core.schema.Node;
-
-@Node("症状")
-public class Zz {
-    @Id
-    @GeneratedValue
-    private Long id;
-
-    private String name;
-
-    private String description;
-
-    public Zz() {
-
-    }
-
-    public Zz(String name, String description) {
-        this.name = name;
-        this.description = description;
-    }
-
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public void setDescription(String description) {
-        this.description = description;
-    }
-}

+ 4 - 0
src/main/java/com/qizhen/healsphere/service/KgService.java

@@ -3,7 +3,9 @@ package com.qizhen.healsphere.service;
 import com.qizhen.healsphere.web.dto.GraphDTO;
 import com.qizhen.healsphere.web.param.KgQuery;
 
+import java.util.Collection;
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -16,4 +18,6 @@ import java.util.List;
 public interface KgService {
 
     List<GraphDTO> getGraph(KgQuery kgQuery);
+
+    Collection<Map> getGraphNew(KgQuery kgQuery);
 }

+ 2 - 2
src/main/java/com/qizhen/healsphere/service/PresetInfoService.java

@@ -1,6 +1,5 @@
 package com.qizhen.healsphere.service;
 
-import com.baomidou.mybatisplus.extension.service.IService;
 import com.qizhen.healsphere.repository.mapper.entity.PresetInfo;
 
 /**
@@ -11,6 +10,7 @@ import com.qizhen.healsphere.repository.mapper.entity.PresetInfo;
  * @author gaodm
  * @since 2020-03-31
  */
-public interface PresetInfoService extends IService<PresetInfo> {
+public interface PresetInfoService {
 
+    PresetInfo getPresetInfo(Integer type);
 }

+ 30 - 8
src/main/java/com/qizhen/healsphere/service/impl/KgServiceImpl.java

@@ -1,15 +1,12 @@
 package com.qizhen.healsphere.service.impl;
 
-import com.qizhen.healsphere.web.dto.GraphDTO;
-//import com.qizhen.healsphere.repository.mapper.KgMapper;
 import com.qizhen.healsphere.service.KgService;
+import com.qizhen.healsphere.web.dto.GraphDTO;
 import com.qizhen.healsphere.web.param.KgQuery;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.neo4j.core.Neo4jOperations;
-import org.springframework.data.neo4j.core.Neo4jTemplate;
 import org.springframework.data.neo4j.repository.query.QueryFragmentsAndParameters;
 import org.springframework.stereotype.Service;
 
+import java.util.Collection;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -27,8 +24,11 @@ public class KgServiceImpl implements KgService {
 //    @Autowired
 //    private KgMapper kgMapper;
 
-    @Autowired
-    private Neo4jTemplate neo4jTemplate;
+//    @Autowired
+//    private Neo4jTemplate neo4jTemplate;
+//
+//    @Autowired
+//    Neo4jClient neo4jClient;
 
     @Override
     public List<GraphDTO> getGraph(KgQuery kgQuery){
@@ -40,7 +40,29 @@ public class KgServiceImpl implements KgService {
                 "            RETURN head(Labels(n)) as sLabel,n.name as sName,Type (r) as rType, head(Labels(m)) as eLabel,m.name as eName, count(p) as pCount\n" +
                 "            ORDER BY rType";
         QueryFragmentsAndParameters parameters = new QueryFragmentsAndParameters(cypherQuery,map);
+//        return neo4jTemplate.toExecutableQuery(GraphDTO.class,parameters).getResults();
+        return null;
+    }
 
-        return neo4jTemplate.toExecutableQuery(GraphDTO.class,parameters).getResults();
+    @Override
+    public Collection<Map> getGraphNew(KgQuery kgQuery){
+//        String cypherQuery = "MATCH (n:" + kgQuery.getLabelName() + ")-[r]->(m)\n" +
+//                "            where n.name = $inputStr\n" +
+//                "            OPTIONAL MATCH p=(m)-[]->(o) where head(Labels(m)) in [\"疾病\",\"症状\",\"药品通用名\",\"手术和操作\",\"实验室检查\",\"辅助检查\"]\n" +
+//                "            RETURN head(Labels(n)) as sLabel,n.name as sName,Type (r) as rType, head(Labels(m)) as eLabel,m.name as eName, count(p) as pCount\n" +
+//                "            ORDER BY rType";
+//
+//        Collection<Map<String, Object>> mapCollection = neo4jClient.query(cypherQuery).bind(kgQuery.getInputStr()).to("inputStr").fetch().all();
+//        return mapCollection;
+        Map<String,Object> map = new HashMap<>();
+        map.put("inputStr",kgQuery.getInputStr());
+        String cypherQuery = "MATCH (n:" + kgQuery.getLabelName() + ")-[r]->(m)\n" +
+                "            where n.name = $inputStr\n" +
+                "            OPTIONAL MATCH p=(m)-[]->(o) where head(Labels(m)) in [\"疾病\",\"症状\",\"药品通用名\",\"手术和操作\",\"实验室检查\",\"辅助检查\"]\n" +
+                "            RETURN head(Labels(n)) as sLabel,n.name as sName,Type (r) as rType, head(Labels(m)) as eLabel,m.name as eName, count(p) as pCount\n" +
+                "            ORDER BY rType";
+        QueryFragmentsAndParameters parameters = new QueryFragmentsAndParameters(cypherQuery,map);
+//        return neo4jTemplate.toExecutableQuery(Map.class,parameters).getResults();
+        return null;
     }
 }

+ 10 - 3
src/main/java/com/qizhen/healsphere/service/impl/PresetInfoServiceImpl.java

@@ -1,9 +1,9 @@
 package com.qizhen.healsphere.service.impl;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.qizhen.healsphere.repository.mapper.entity.PresetInfo;
 import com.qizhen.healsphere.repository.mapper.PresetInfoMapper;
+import com.qizhen.healsphere.repository.mapper.entity.PresetInfo;
 import com.qizhen.healsphere.service.PresetInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
@@ -15,6 +15,13 @@ import org.springframework.stereotype.Service;
  * @since 2020-03-31
  */
 @Service
-public class PresetInfoServiceImpl extends ServiceImpl<PresetInfoMapper, PresetInfo> implements PresetInfoService {
+public class PresetInfoServiceImpl implements PresetInfoService {
+
+    @Autowired
+    private PresetInfoMapper presetInfoMapper;
 
+    @Override
+    public PresetInfo getPresetInfo(Integer type) {
+        return presetInfoMapper.getPresetInfoByType(type);
+    }
 }

+ 5 - 0
src/main/resources/mapper/mysql/PresetInfoMapper.xml

@@ -16,4 +16,9 @@
         <result column="remark" property="remark" />
     </resultMap>
 
+    <select id="getPresetInfoByType" resultMap="BaseResultMap" parameterType="java.lang.Integer">
+        select * from ltkg_preset_info where type = #{type} and is_deleted = 'N' limit 1
+    </select>
+
+
 </mapper>

+ 26 - 27
src/test/java/com/qizhen/healsphere/DiseaseTests.java

@@ -2,7 +2,6 @@ package com.qizhen.healsphere;
 
 import cn.hutool.json.JSONUtil;
 import com.qizhen.healsphere.repository.neo4j.BaseNodeRepository;
-import com.qizhen.healsphere.repository.neo4j.BasePropertyRepository;
 import com.qizhen.healsphere.repository.neo4j.BaseRelationshipRepository;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -24,9 +23,9 @@ public class DiseaseTests {
 
     @Autowired
     BaseRelationshipRepository baseRelationshipRepository;
-
-    @Autowired
-    BasePropertyRepository basePropertyRepository;
+//
+//    @Autowired
+//    BasePropertyRepository basePropertyRepository;
 
 
     @Test
@@ -35,24 +34,24 @@ public class DiseaseTests {
     @Test
     public void testCrudNodeDemo() {
 
-        Map<String,Object> map = new HashMap<>();
-        map.put("name","糖尿病");
-        map.put("desc","这属于一种慢性病,尿液含糖量高");
-        map.put("诱因","吃的糖太多了");
-        map.put("治疗方式","打胰岛素");
+//        Map<String,Object> map = new HashMap<>();
+//        map.put("name","糖尿病");
+//        map.put("desc","这属于一种慢性病,尿液含糖量高");
+//        map.put("诱因","吃的糖太多了");
+//        map.put("治疗方式","打胰岛素");
         String label = "疾病名称";
-        Map<String, Object> node = baseNodeRepository.createNode(label, map);
-        System.out.println(JSONUtil.toJsonStr(node));
-
-        Map<String,Object> map1 = new HashMap<>();
-        map1.put("name","尿液泡沫多");
-        map1.put("desc","常见于肾脏不好的患者");
-        String label1 = "主要症状";
-        Map<String, Object> node1 = baseNodeRepository.createNode(label1, map1);
-        System.out.println(JSONUtil.toJsonStr(node1));
-
-//        Map<String,Object> list = baseNodeRepository.findNode(label, "糖尿病");
-//        System.out.println(JSONUtil.toJsonStr(list));
+//        Map<String, Object> node = baseNodeRepository.createNode(label, map);
+//        System.out.println(JSONUtil.toJsonStr(node));
+//
+//        Map<String,Object> map1 = new HashMap<>();
+//        map1.put("name","尿液泡沫多");
+//        map1.put("desc","常见于肾脏不好的患者");
+//        String label1 = "主要症状";
+//        Map<String, Object> node1 = baseNodeRepository.createNode(label1, map1);
+//        System.out.println(JSONUtil.toJsonStr(node1));
+
+        Map<String,Object> list = baseNodeRepository.findNodeByName(label, "糖尿病");
+        System.out.println(JSONUtil.toJsonStr(list));
 
 //        Long id = 24L;
 //        baseNodeRepository.updateNode(label,id,map);
@@ -82,15 +81,15 @@ public class DiseaseTests {
         map.put("描述","这是疾病和症状的关系");
 
 
-//        baseNodeRepository.createRelationship(startLabel,startId,endLabel,endId,relationShipType,map);
+        baseRelationshipRepository.createRelationship(startLabel,startId,endLabel,endId,relationShipType,map);
 
 
 //        baseRelationshipRepository.deleteRelationship(startLabel,startId,endLabel,endId,relationShipType);
-//        List<String> relationshipNames = baseRelationshipRepository.findRelationshipNames("111");
-//        System.out.println(JSONUtil.toJsonStr(relationshipNames));
+        List<String> relationshipNames = baseRelationshipRepository.findRelationshipNames("主要");
+        System.out.println(JSONUtil.toJsonStr(relationshipNames));
 
 //        baseRelationshipRepository.updateRelationship("疾病症状之间的关系111","疾病症状之间的关系222333");
-        baseRelationshipRepository.deleteRelationship(startLabel,startId,endLabel,endId,"疾病症状之间的关系222333");
+//        baseRelationshipRepository.deleteRelationship(startLabel,startId,endLabel,endId,"疾病症状之间的关系222333");
 
 
     }
@@ -110,8 +109,8 @@ public class DiseaseTests {
 //        Map<String, Object> stringObjectMap = basePropertyRepository.updateProperty(label, nodeId, "prop1", "prop3", "最新的属性");
 //        System.out.println(JSONUtil.toJsonStr(stringObjectMap));
 
-        Map<String, Object> stringObjectMap1 = basePropertyRepository.deleteProperty(label, nodeId, "prop2");
-        System.out.println(JSONUtil.toJsonStr(stringObjectMap1));
+//        Map<String, Object> stringObjectMap1 = basePropertyRepository.deleteProperty(label, nodeId, "prop2");
+//        System.out.println(JSONUtil.toJsonStr(stringObjectMap1));
 
 
     }

+ 62 - 0
src/test/java/com/qizhen/healsphere/KgGraphTests.java

@@ -0,0 +1,62 @@
+package com.qizhen.healsphere;
+
+import cn.hutool.json.JSONUtil;
+import com.qizhen.healsphere.service.impl.KgServiceImpl;
+import com.qizhen.healsphere.web.param.KgQuery;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.util.Collection;
+import java.util.Map;
+
+@RunWith(SpringRunner.class)
+@ComponentScan(basePackages = {"com.qizhen.healsphere.model","com.qizhen.healsphere.repository"})
+@SpringBootTest
+public class KgGraphTests {
+    @Autowired
+    KgServiceImpl kgServiceImpl;
+
+
+    @Test
+    public void contextLoads() {}
+
+    @Test
+    public void testCrudNodeDemo() {
+
+        KgQuery kq = new KgQuery();
+        kq.setLabelName("疾病");
+        kq.setInputStr("急性胰腺炎");
+        Collection<Map> graph = kgServiceImpl.getGraphNew(kq);
+        System.out.println(JSONUtil.toJsonStr(graph));
+//        List<GraphDTO> graph = kgServiceImpl.getGraph(kq);
+//        System.out.println(JSONUtil.toJsonStr(graph));
+
+//        String uri = "bolt://173.18.12.194:7687";
+//        String user = "neo4j";
+//        String password = "12345678";
+//
+//        String labelName = "疾病";
+//        String inputStr = "急性胰腺炎";
+//        try (Driver driver = GraphDatabase.driver(uri, AuthTokens.basic(user, password))) {
+//            try (Session session = driver.session()) {
+//
+//                String cypherQuery = "MATCH (n:" + labelName + ")-[r]->(m)\n" +
+//                        "            where n.name = $inputStr\n" +
+//                        "            OPTIONAL MATCH p=(m)-[]->(o) where head(Labels(m)) in [\"疾病\",\"症状\",\"药品通用名\",\"手术和操作\",\"实验室检查\",\"辅助检查\"]\n" +
+//                        "            RETURN head(Labels(n)) as sLabel,n.name as sName,Type (r) as rType, head(Labels(m)) as eLabel,m.name as eName, count(p) as pCount\n" +
+//                        "            ORDER BY rType";
+//
+//                Result result = session.run(cypherQuery, Values.parameters("inputStr", inputStr));
+//                result.list().forEach(System.out::println);
+//            }
+//        }
+
+
+    }
+
+}
+