浏览代码

搜索栏搜索接口

gaodm 5 年之前
父节点
当前提交
99cc41f443

+ 15 - 0
ltkg-service/src/main/java/com/diagbot/dto/NodeDTO.java

@@ -0,0 +1,15 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/3/16 10:11
+ */
+@Getter
+@Setter
+public class NodeDTO {
+    private String Name;
+}

+ 5 - 0
ltkg-service/src/main/java/com/diagbot/mapper/KgMapper.java

@@ -1,5 +1,8 @@
 package com.diagbot.mapper;
 
+import com.diagbot.dto.NodeDTO;
+import com.diagbot.vo.KgQueryVO;
+
 import java.util.List;
 import java.util.Map;
 
@@ -14,6 +17,8 @@ import java.util.Map;
 public interface KgMapper {
     List<Map> selectDisease();
 
+    List<NodeDTO> getNode(KgQueryVO kgQueryVO);
+
     List<Map> getGraph();
 
     List<Map> getTree();

+ 5 - 0
ltkg-service/src/main/java/com/diagbot/service/KgService.java

@@ -1,5 +1,8 @@
 package com.diagbot.service;
 
+import com.diagbot.dto.NodeDTO;
+import com.diagbot.vo.KgQueryVO;
+
 import java.util.List;
 import java.util.Map;
 
@@ -14,6 +17,8 @@ import java.util.Map;
 public interface KgService {
     List<Map> selectDisease();
 
+    List<NodeDTO> getNode(KgQueryVO kgQueryVO);
+
     List<Map> getGraph();
 
     List<Map> getTree();

+ 7 - 0
ltkg-service/src/main/java/com/diagbot/service/impl/KgServiceImpl.java

@@ -1,7 +1,9 @@
 package com.diagbot.service.impl;
 
+import com.diagbot.dto.NodeDTO;
 import com.diagbot.mapper.KgMapper;
 import com.diagbot.service.KgService;
+import com.diagbot.vo.KgQueryVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -27,6 +29,11 @@ public class KgServiceImpl implements KgService {
         return kgMapper.selectDisease();
     }
 
+    @Override
+    public List<NodeDTO> getNode(KgQueryVO kgQueryVO){
+        return kgMapper.getNode(kgQueryVO);
+    }
+
     @Override
     public List<Map> getGraph(){
         return kgMapper.getGraph();

+ 16 - 0
ltkg-service/src/main/java/com/diagbot/vo/KgQueryVO.java

@@ -0,0 +1,16 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/3/16 9:47
+ */
+@Getter
+@Setter
+public class KgQueryVO {
+    private String labelName;
+    private String inputStr;
+}

+ 0 - 21
ltkg-service/src/main/java/com/diagbot/vo/SysLogVo.java

@@ -1,21 +0,0 @@
-package com.diagbot.vo;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import java.util.Date;
-
-/**
- * @Description:
- * @author: gaodm
- * @time: 2018/8/6 10:16
- */
-@Getter
-@Setter
-public class SysLogVo {
-    private Date createDate;
-    private String ip;
-    private String method;
-    private String operation;
-    private String params;
-}

+ 12 - 3
ltkg-service/src/main/java/com/diagbot/web/KgController.java

@@ -1,13 +1,15 @@
 package com.diagbot.web;
 
-
 import com.diagbot.annotation.SysLogger;
+import com.diagbot.dto.NodeDTO;
 import com.diagbot.dto.RespDTO;
 import com.diagbot.facade.KgFacade;
+import com.diagbot.vo.KgQueryVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -15,7 +17,7 @@ import java.util.List;
 import java.util.Map;
 
 /**
- * @Description: 日志操作控制层
+ * @Description: 朗通知识图谱控制层
  * @author: gaodm
  * @time: 2018/8/30 10:12
  */
@@ -35,10 +37,17 @@ public class KgController {
         return RespDTO.onSuc(kgFacade.selectDisease());
     }
 
+    @ApiOperation(value = "查询节点", notes = "查询节点")
+    @PostMapping("/getNode")
+    @SysLogger("getNode")
+    public RespDTO<List<NodeDTO>> getNode(@RequestBody KgQueryVO kgQueryVO) {
+        return RespDTO.onSuc(kgFacade.getNode(kgQueryVO));
+    }
+
     @ApiOperation(value = "获取图谱", notes = "获取图谱")
     @PostMapping("/getGraph")
     @SysLogger("getGraph")
-    public RespDTO<List<Map>> getGraph() {
+    public RespDTO<List<Map>> getGraph(@RequestBody KgQueryVO kgQueryVO) {
         return RespDTO.onSuc(kgFacade.getGraph());
     }
 

+ 9 - 0
ltkg-service/src/main/resources/mapper/KgMapper.xml

@@ -7,6 +7,15 @@
       MATCH (obj:`疾病名称`) RETURN obj LIMIT 25
     </select>
 
+    <select id="getNode" parameterType='com.diagbot.vo.KgQueryVO' resultType="com.diagbot.dto.NodeDTO">
+        Match (n:${labelName}) where n.name STARTS WITH #{inputStr} with collect(n.name) as rows1
+        OPTIONAL Match (n:${labelName}) where n.name CONTAINS #{inputStr} with rows1 + collect(n.name) as rows
+        unwind rows as row
+        with distinct row as x
+        return x as name
+        limit 20
+    </select>
+
     <select id="getGraph" resultType="java.util.Map">
       MATCH (obj:`疾病名称`) RETURN obj LIMIT 25
     </select>