diff --git a/src/main/java/com/maxbill/base/bean/ZTreeBean.java b/src/main/java/com/maxbill/base/bean/ZTreeBean.java index 85a78b81bc7f627531c71552f7b67d1d89a64390..b24cc99b53b51d593fec06f5875923862bbbb44b 100644 --- a/src/main/java/com/maxbill/base/bean/ZTreeBean.java +++ b/src/main/java/com/maxbill/base/bean/ZTreeBean.java @@ -6,7 +6,7 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.util.List; +import java.util.LinkedList; @Data @Builder @@ -36,7 +36,7 @@ public class ZTreeBean { @JSONField(name = "isParent") private boolean isParent; - private List children; + private LinkedList children; public ZTreeBean(String id, String name) { this.id = id; diff --git a/src/main/java/com/maxbill/base/controller/DataClusterController.java b/src/main/java/com/maxbill/base/controller/DataClusterController.java index 32f89c3bb0c980dbe7f10dc934270fb0dd9cef4f..88379437268d0aa4c9415fcc24aa1bba57dfd1f5 100644 --- a/src/main/java/com/maxbill/base/controller/DataClusterController.java +++ b/src/main/java/com/maxbill/base/controller/DataClusterController.java @@ -102,7 +102,6 @@ public class DataClusterController { } } - public String treeData(String pid, int page, String pattern) { try { JedisCluster cluster = DataUtil.getJedisClusterObject(); @@ -130,7 +129,7 @@ public class DataClusterController { if (endIndex > keyList.size()) { endIndex = keyList.size(); } - List treeList = new LinkedList<>(); + LinkedList treeList = new LinkedList<>(); for (String key : keyList.subList(startIndex, endIndex)) { RedisUtil.groupRecursiveLoad(treeList, key, null, pid); } diff --git a/src/main/java/com/maxbill/tool/RedisUtil.java b/src/main/java/com/maxbill/tool/RedisUtil.java index 237d9344f43143507db0a2ef6572a76c5e6ed4df..21cd7cd9366dd69785596c814dace1a89888eb7f 100644 --- a/src/main/java/com/maxbill/tool/RedisUtil.java +++ b/src/main/java/com/maxbill/tool/RedisUtil.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON; import com.maxbill.base.bean.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import redis.clients.jedis.*; import redis.clients.jedis.util.Slowlog; @@ -380,14 +381,13 @@ public class RedisUtil { if (endIndex > keyList.size()) { endIndex = keyList.size(); } - List treeList = new ArrayList<>(); + LinkedList treeList = new LinkedList<>(); for (String key : keyList.subList(startIndex, endIndex)) { groupRecursiveLoad(treeList, key, null, pid); } return treeList; } - /** * 分组递归加载节点 * @@ -396,9 +396,9 @@ public class RedisUtil { * @param pref * @param pid */ - public static void groupRecursiveLoad(List nodes, String key, String pref, String pid) { + public static void groupRecursiveLoad(LinkedList nodes, String key, String pref, String pid) { String thisKey = new String(key); - if (pref != null && key.startsWith(pref)) { + if (pref != null && thisKey.startsWith(pref)) { thisKey = thisKey.substring(pref.length()); } @@ -417,28 +417,27 @@ public class RedisUtil { } /** 对象节点类型:递归添加(Object:Field:Field) */ - // 1、先查找已存在的上级节点 - List children = null; - for (ZTreeBean parent : nodes) { - if (parent.isParent() && parent.getName().equals(metas[0])) { - children = parent.getChildren(); - break; + // 1、判断最后一个是否目标分组 + ZTreeBean groupNode = null; + if (!CollectionUtils.isEmpty(nodes)) { + ZTreeBean last = nodes.getLast(); + if (last.isParent() && last.getName().equals(metas[0])) { + groupNode = last; } } - // 2、不存在上级时:创建上级节点 - String id = KeyUtil.getUUIDKey(); - if (children == null) { - ZTreeBean parent = ZTreeBean.builder() - .id(id) + // 2、创建分组节点 + if (groupNode == null) { + groupNode = ZTreeBean.builder() + .id(KeyUtil.getUUIDKey()) .pId(pid) .name(metas[0]) .isParent(true) - .children(children = new LinkedList<>()) + .children(new LinkedList<>()) .build(); - nodes.add(parent); + nodes.add(groupNode); } - // 3、递归——添加children - groupRecursiveLoad(children, key, (pref == null ? "" : pref) + metas[0] + ":", id); + // 3、递归——添加分组children + groupRecursiveLoad(groupNode.getChildren(), key, (pref == null ? "" : pref) + metas[0] + ":", groupNode.getId()); } /** diff --git a/src/main/resources/page/data-cluster.html b/src/main/resources/page/data-cluster.html index 2631fa7e89f014a73c2b106d47ed41c53f6d12e6..2cc060a7df3c1a2774dd61ce0e11b9a0f1b2c7b1 100644 --- a/src/main/resources/page/data-cluster.html +++ b/src/main/resources/page/data-cluster.html @@ -73,10 +73,10 @@
- - - - + + + + diff --git a/src/main/resources/page/data-singles.html b/src/main/resources/page/data-singles.html index 269f2f09664c0aed8ab7baa5e347094d18d4ba05..1ff1e10af435c966db11fcb14bb17da44bcaeb26 100644 --- a/src/main/resources/page/data-singles.html +++ b/src/main/resources/page/data-singles.html @@ -73,10 +73,10 @@
- - - - + + + + diff --git a/src/main/resources/script/data-cluster.js b/src/main/resources/script/data-cluster.js index e5728d0ac007d40eb132b3a13561c30dcdc7d0be..1cc6763a9439e25d16e8a228aa66fa1b7d82ab4a 100644 --- a/src/main/resources/script/data-cluster.js +++ b/src/main/resources/script/data-cluster.js @@ -91,7 +91,7 @@ function goPage(treeNode, page) { //显示分页 function showPageView(treeId, treeNode) { - var pageSize = 50; + var pageSize = 1000; if (treeNode.level > 0) { return; } @@ -603,7 +603,7 @@ function getEditView(type, data) { var isjson = false; var result = ""; try { - result = JSON.stringify(JSON.parse(data), null, 2); + result = JSON.stringify(JSON.parse(data), null, 4); layer.msg("检测数据为JSON格式"); isjson = true; } catch (e) { diff --git a/src/main/resources/script/data-singles.js b/src/main/resources/script/data-singles.js index 61d224cfe16ecdd814ddb72308b49441dd3a8330..53bf2344c61ffdaffccff6f94cc5d2e5c9334612 100644 --- a/src/main/resources/script/data-singles.js +++ b/src/main/resources/script/data-singles.js @@ -95,7 +95,7 @@ function goPage(treeNode, page) { //显示分页 function showPageView(treeId, treeNode) { - var pageSize = 50; + var pageSize = 1000; if (treeNode.level > 0) { return; }