From ae0cf36b437c02c55bccb13413c9db67e2bac886 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= Date: Fri, 10 Mar 2023 15:03:55 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90fix=20sonar=E3=80=91NgAlainServiceImpl?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/NgAlainServiceImpl.java | 72 ++++++++++--------- 1 file changed, 40 insertions(+), 32 deletions(-) diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/ngalain/service/impl/NgAlainServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/ngalain/service/impl/NgAlainServiceImpl.java index d23dd72a..d98dc755 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/ngalain/service/impl/NgAlainServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/ngalain/service/impl/NgAlainServiceImpl.java @@ -88,35 +88,38 @@ public class NgAlainServiceImpl implements NgAlainService { getPermissionJsonArray(jsonArray, metaList, json); } }else if(parentJson!=null && oConvertUtils.isNotEmpty(tempPid) && tempPid.equals(parentJson.getString("id"))){ - final String PERMISSIONLIST = "permissionList"; - if(permission.getMenuType()==0) { - JSONObject metaJson = parentJson.getJSONObject("meta"); - if(metaJson.containsKey(PERMISSIONLIST)) { - metaJson.getJSONArray(PERMISSIONLIST).add(json); - }else { - JSONArray permissionList = new JSONArray(); - permissionList.add(json); - metaJson.put(PERMISSIONLIST, permissionList); - } - - }else if(permission.getMenuType()==1) { - if(parentJson.containsKey(CHILDREN)) { - parentJson.getJSONArray(CHILDREN).add(json); - }else { - JSONArray children = new JSONArray(); - children.add(json); - parentJson.put(CHILDREN, children); - } - - if(!permission.isLeaf()) { - getPermissionJsonArray(jsonArray, metaList, json); - } - } + putParentJson(jsonArray, metaList, parentJson, permission, json); } - - } } + + private void putParentJson(JSONArray jsonArray, List metaList, JSONObject parentJson, SysPermission permission, JSONObject json) { + final String PERMISSIONLIST = "permissionList"; + if(permission.getMenuType()==0) { + JSONObject metaJson = parentJson.getJSONObject("meta"); + if(metaJson.containsKey(PERMISSIONLIST)) { + metaJson.getJSONArray(PERMISSIONLIST).add(json); + }else { + JSONArray permissionList = new JSONArray(); + permissionList.add(json); + metaJson.put(PERMISSIONLIST, permissionList); + } + + }else if(permission.getMenuType()==1) { + if(parentJson.containsKey(CHILDREN)) { + parentJson.getJSONArray(CHILDREN).add(json); + }else { + JSONArray children = new JSONArray(); + children.add(json); + parentJson.put(CHILDREN, children); + } + + if(!permission.isLeaf()) { + getPermissionJsonArray(jsonArray, metaList, json); + } + } + } + private JSONObject getPermissionJsonObject(SysPermission permission) { JSONObject json = new JSONObject(); //类型(0:一级菜单 1:子菜单 2:按钮) @@ -125,12 +128,7 @@ public class NgAlainServiceImpl implements NgAlainService { json.put("describe", permission.getName()); }else if(permission.getMenuType()==0||permission.getMenuType()==1) { json.put("id", permission.getId()); - if(permission.getUrl()!=null&&(permission.getUrl().startsWith("http://")||permission.getUrl().startsWith("https://"))) { - String url= new String(Base64.getUrlEncoder().encode(permission.getUrl().getBytes())); - json.put("path", "/sys/link/" +url.replace("=","")); - }else { - json.put("path", permission.getUrl()); - } + putJson(permission, json); //重要规则:路由name (通过URL生成路由name,路由name供前端开发,页面跳转使用) json.put("name", urlToRouteName(permission.getUrl())); @@ -161,6 +159,16 @@ public class NgAlainServiceImpl implements NgAlainService { return json; } + + private void putJson(SysPermission permission, JSONObject json) { + if(permission.getUrl()!=null&&(permission.getUrl().startsWith("http://")||permission.getUrl().startsWith("https://"))) { + String url= new String(Base64.getUrlEncoder().encode(permission.getUrl().getBytes())); + json.put("path", "/sys/link/" +url.replace("=","")); + }else { + json.put("path", permission.getUrl()); + } + } + /** * 通过URL生成路由name(去掉URL前缀斜杠,替换内容中的斜杠‘/’为-) * 举例: URL = /isystem/role