From ecb75518944dfb7f46538430a5ffb699acac7010 Mon Sep 17 00:00:00 2001 From: wangyao Date: Wed, 6 Jan 2021 18:38:42 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=88=86=E7=BB=84?= =?UTF-8?q?=E7=9A=84=E9=81=8D=E5=8E=86=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../provider/impl/DefaultGroupServiceProvider.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/ssssssss/magicapi/provider/impl/DefaultGroupServiceProvider.java b/src/main/java/org/ssssssss/magicapi/provider/impl/DefaultGroupServiceProvider.java index 39741888..12cd560c 100644 --- a/src/main/java/org/ssssssss/magicapi/provider/impl/DefaultGroupServiceProvider.java +++ b/src/main/java/org/ssssssss/magicapi/provider/impl/DefaultGroupServiceProvider.java @@ -107,10 +107,16 @@ public class DefaultGroupServiceProvider extends BeanPropertyRowMapper im } private void convertToTree(List groups, TreeNode current) { - List> treeNodes = groups.stream() - .filter(it -> current.getNode().getId().equals(it.getParentId())) - .map(TreeNode::new) - .collect(Collectors.toList()); + List> treeNodes = new LinkedList<>(); + Group group; + Iterator iterator = groups.iterator(); + while (iterator.hasNext()){ + group = iterator.next(); + if (current.getNode().getId().equals(group.getParentId())) { + treeNodes.add(new TreeNode<>(group)); + iterator.remove(); + } + } current.setChildren(treeNodes); treeNodes.forEach(it -> convertToTree(groups, it)); } -- Gitee From bdca5475cdb430b69009b93a7a688964c953849e Mon Sep 17 00:00:00 2001 From: wangyao Date: Thu, 7 Jan 2021 14:37:28 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E4=B8=89=E5=85=83?= =?UTF-8?q?=E8=A1=A8=E8=BE=BE=E5=BC=8F=EF=BC=8C=E5=A2=9E=E5=BC=BA=E5=8F=AF?= =?UTF-8?q?=E8=AF=BB=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../magicapi/config/MappingHandlerMapping.java | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/ssssssss/magicapi/config/MappingHandlerMapping.java b/src/main/java/org/ssssssss/magicapi/config/MappingHandlerMapping.java index 5edb5be9..942afb3d 100644 --- a/src/main/java/org/ssssssss/magicapi/config/MappingHandlerMapping.java +++ b/src/main/java/org/ssssssss/magicapi/config/MappingHandlerMapping.java @@ -293,10 +293,7 @@ public class MappingHandlerMapping { } String mappingKey = getMappingKey(info); if (mappings.containsKey(mappingKey)) { - if (mappings.get(mappingKey).getInfo().getId().equals(info.getId())) { - return false; - } - return true; + return !mappings.get(mappingKey).getInfo().getId().equals(info.getId()); } if (!allowOverride) { Map handlerMethods = this.requestMappingHandlerMapping.getHandlerMethods(); @@ -331,14 +328,10 @@ public class MappingHandlerMapping { public void registerMapping(ApiInfo info, boolean delete) { // 先判断是否已注册,如果已注册,则先取消注册在进行注册。 MappingNode mappingNode = mappings.get(info.getId()); - ApiInfo oldInfo = mappingNode == null ? null : mappingNode.getInfo(); - if (mappingNode == null) { - mappingNode = new MappingNode(info); - } String newMappingKey = getMappingKey(info); - mappingNode.setMappingKey(newMappingKey); - if (oldInfo != null) { - String oldMappingKey = getMappingKey(oldInfo); + if (mappingNode != null) { + ApiInfo oldInfo = mappingNode.getInfo(); + String oldMappingKey = mappingNode.getMappingKey(); // URL 路径一致时,刷新脚本内容即可 if (Objects.equals(oldMappingKey, newMappingKey)) { if (!info.equals(oldInfo)) { @@ -357,6 +350,8 @@ public class MappingHandlerMapping { mappings.remove(oldMappingKey); requestMappingHandlerMapping.unregisterMapping(getRequestMapping(oldInfo)); } + mappingNode = new MappingNode(info); + mappingNode.setMappingKey(newMappingKey); // 注册 RequestMappingInfo requestMapping = getRequestMapping(info); mappingNode.setRequestMappingInfo(requestMapping); -- Gitee