zhoutg пре 5 година
родитељ
комит
24dd895ba5

+ 2 - 0
ltkg-service/src/main/java/com/diagbot/dto/Node.java

@@ -12,6 +12,8 @@ public class Node {
     private Integer category; // 所属列
     private String label = ""; // 显示名称
     private Long name;  // 主键
+    private String symbol; // 呈现形态,中心节点:默认,关系:diamond,末梢节点如果有扩展,默认类型,无扩展,rect
+    private String type; // 标签类型
     private Integer symbolSize = 0;
 
     public Node() {

+ 4 - 2
ltkg-service/src/main/java/com/diagbot/dto/Tu.java

@@ -9,6 +9,8 @@ import lombok.Data;
  */
 @Data
 public class Tu {
-    private String rel;
-    private String subName;
+    private String rel; // 关系
+    private String subName; // 子节点
+    private String subLabel; // 子节点标签名称
+    private Integer subNextCount;  // 子节点指向的节点数量
 }

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

@@ -192,6 +192,7 @@ public class KgFacade extends KgServiceImpl {
 
             // 添加关系节点
             Node nodeRel = new Node(1, "", j, 10);
+            nodeRel.setSymbol("diamond");
             nodeList.add(nodeRel);
 
             // 添加中心节点与关系的关联
@@ -202,6 +203,10 @@ public class KgFacade extends KgServiceImpl {
             for (Tu t : inner) {
                 // 添加关系下的节点
                 Node nodeLabel = new Node(i, t.getSubName(), ++j, 28);
+                if (t.getSubNextCount() == 0) {
+                    nodeLabel.setSymbol("rect");
+                }
+                nodeLabel.setType(t.getSubLabel());
                 nodeList.add(nodeLabel);
 
                 // 添加关系和节点的关联

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

@@ -75,7 +75,7 @@ public class KgController {
     @ApiOperation(value = "获取图", notes = "获取图")
     @PostMapping("/getTu")
     @SysLogger("getTu")
-    @ApiIgnore
+//    @ApiIgnore
     public RespDTO<GraDTO> getTu(@RequestBody KgQueryVO kgQueryVO) {
         return RespDTO.onSuc(kgFacade.getTuFac(kgQueryVO));
     }

+ 5 - 1
ltkg-service/src/main/resources/mapper/KgMapper.xml

@@ -57,7 +57,11 @@
     </select>
 
     <select id="getTu" resultType="com.diagbot.dto.Tu">
-      match (n:${labelName})-[r]-(m) where n.name=#{inputStr} return type(r) as rel,m.name as subName order by rel
+      match (n:${labelName})-[r]->(m) where n.name=#{inputStr}
+      with r,m
+      optional match (m)-->(fof)
+      return type(r) as rel,m.name as subName, head(labels(m)) as subLabel, count(fof) as subNextCount
+      order by rel
     </select>
 
 </mapper>

+ 6 - 5
ltkg-service/src/main/resources/static/index.html

@@ -101,7 +101,7 @@
         series: [{
             type: 'graph', // 类型:关系图
             layout: 'force', //图的布局,类型为力导图
-            symbolSize: 40, // 调整节点的大小
+            // symbolSize: 40, // 调整节点的大小
             roam: true, // 是否开启鼠标缩放和平移漫游。默认不开启。如果只想要开启缩放或者平移,可以设置成 'scale' 或者 'move'。设置成 true 为都开启
             edgeSymbol: ['circle', 'arrow'],
             edgeSymbolSize: [2, 10],
@@ -395,7 +395,7 @@
         data.inputStr = $("#inputStr").val().trim();
         $.ajax({
             type: "post",
-            url: "http://localhost:5050/api/ltkg/kg/getTu",
+            url: "/kg/getTu",
             data: JSON.stringify(data),
             contentType: "application/json;charset=UTF-8",
             dataType: "json",
@@ -414,13 +414,14 @@
         console.log('param---->', param);  // 打印出param, 可以看到里边有很多参数可以使用
         //获取节点点击的数组序号
         var arrayIndex = param.dataIndex;
-        if (param.dataType == 'node') {
+        if (param.dataType == 'node' && !param.data.symbol) {
             var data = {};
-            data.labelName = $("#sel").val();
+            // data.labelName = $("#sel").val();
+            data.labelName = param.data.type;
             data.inputStr = param.data.label.trim();
             $.ajax({
                 type: "post",
-                url: "http://localhost:5050/api/ltkg/kg/getTu",
+                url: "/kg/getTu",
                 data: JSON.stringify(data),
                 contentType: "application/json;charset=UTF-8",
                 dataType: "json",