【fix sonar】NgAlainServiceImpl文件

This commit is contained in:
梁琦涛
2023-03-10 15:03:55 +08:00
parent 97eab577f8
commit ae0cf36b43
@@ -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<SysPermission> 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