From 062294822e21aea4912a22dc670673870bdc1c0c Mon Sep 17 00:00:00 2001 From: lihongjie0209 Date: Mon, 14 Aug 2023 19:56:33 +0800 Subject: [PATCH] =?UTF-8?q?bugfix:=20=E8=B5=84=E6=BA=90=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../coal/controller/ScriptController.java | 2 +- .../lihongjie/coal/entity/ResourceEntity.java | 64 ++++++++----------- .../coal/service/ResourceService.java | 21 +++--- 3 files changed, 38 insertions(+), 49 deletions(-) diff --git a/src/main/java/cn/lihongjie/coal/controller/ScriptController.java b/src/main/java/cn/lihongjie/coal/controller/ScriptController.java index 28e99580..4fd98aaa 100644 --- a/src/main/java/cn/lihongjie/coal/controller/ScriptController.java +++ b/src/main/java/cn/lihongjie/coal/controller/ScriptController.java @@ -10,7 +10,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -@RequestMapping("/Script") +@RequestMapping("/script") @RestController @SysLog(module = "") public class ScriptController { diff --git a/src/main/java/cn/lihongjie/coal/entity/ResourceEntity.java b/src/main/java/cn/lihongjie/coal/entity/ResourceEntity.java index 5b04e421..a5171521 100644 --- a/src/main/java/cn/lihongjie/coal/entity/ResourceEntity.java +++ b/src/main/java/cn/lihongjie/coal/entity/ResourceEntity.java @@ -38,35 +38,35 @@ public class ResourceEntity extends CommonEntity { @Comment("需要机构管理员权限") - private Boolean orgAdmin; + private Boolean orgAdmin = false; @Comment("需要系统管理员权限") - private Boolean sysAdmin; + private Boolean sysAdmin = false; @Comment("匿名用户可以访问") - private Boolean anonymous; + private Boolean anonymous = false; - public void addChildren(ResourceEntity entity) { + public void addChildren(ResourceEntity newRs) { - log.info("addChildren {} {}", this.getUrl(), entity.getUrl()); + log.info("addChildren1 {} {}", this.getUrl(), newRs.getUrl()); if (this.children == null) { this.children = new ArrayList<>(); } - if (entity.getUrl().equals(this.getUrl())) { + if (newRs.getUrl().equals(this.getUrl())) { return; } for (ResourceEntity child : this.children) { - if (this.getUrl().startsWith(child.getUrl())) { + if (newRs.getUrl().startsWith(child.getUrl())) { - child.addChildren(entity); + child.addChildren(newRs); return; @@ -75,40 +75,30 @@ public class ResourceEntity extends CommonEntity { } - String parent = getParent(entity.url); + ResourceEntity r = new ResourceEntity(); - if (isSamePath(parent, this.getUrl())) { + String tmp = newRs.getUrl(); - this.children.add(entity); - entity.setParent(this); - - } else { - - ResourceEntity r = new ResourceEntity(); - - String tmp = entity.getUrl(); - - while (!isSamePath(this.getUrl(), getParent(tmp))) { - tmp = getParent(tmp); - } - - - r.setUrl(tmp); - - r.setName(r.getUrl()); - r.setType("3"); - r.setParent(this); - r.setChildren(new ArrayList<>()); - r.setCode(r.getUrl()); - - - this.children.add(r); - - - r.addChildren(entity); + while (!isSamePath(this.getUrl(), getParent(tmp))) { + tmp = getParent(tmp); } + r.setUrl(tmp); + + r.setName(r.getUrl()); + r.setType("3"); + r.setParent(this); + r.setChildren(new ArrayList<>()); + r.setCode(r.getUrl()); + + + this.children.add(r); + log.info("addChildren2 {} {}", r.getUrl(), this.getUrl()); + + r.addChildren(newRs); + + } private boolean isSamePath(String a, String b) { diff --git a/src/main/java/cn/lihongjie/coal/service/ResourceService.java b/src/main/java/cn/lihongjie/coal/service/ResourceService.java index 0503ebfe..622e5d2e 100644 --- a/src/main/java/cn/lihongjie/coal/service/ResourceService.java +++ b/src/main/java/cn/lihongjie/coal/service/ResourceService.java @@ -32,7 +32,7 @@ import java.util.Optional; @Service @Slf4j -public class ResourceService extends BaseService{ +public class ResourceService extends BaseService { @Autowired ResourceRepository repository; @@ -99,12 +99,12 @@ public class ResourceService extends BaseService findByCode(String requestURL) { return - findAll(new Specification() { - @Override - public Predicate toPredicate(Root root, CriteriaQuery query, CriteriaBuilder criteriaBuilder) { - return criteriaBuilder.equal(root.get("code"), requestURL); - } - }).stream().findFirst(); + findAll(new Specification() { + @Override + public Predicate toPredicate(Root root, CriteriaQuery query, CriteriaBuilder criteriaBuilder) { + return criteriaBuilder.equal(root.get("code"), requestURL); + } + }).stream().findFirst(); } @@ -115,7 +115,7 @@ public class ResourceService extends BaseService all = findAll(new Specification() { @Override @@ -135,14 +135,13 @@ public class ResourceService extends BaseService allUrls = getAllUrls(); @@ -176,7 +175,7 @@ public class ResourceService extends BaseService