【fix sonar】SysPermissionController文件

This commit is contained in:
梁琦涛
2023-03-10 16:10:56 +08:00
parent f3c58c93fa
commit 3f07ebc95f
@@ -22,6 +22,7 @@ import com.jero.modules.system.model.SysPermissionTree;
import com.jero.modules.system.model.TreeModel; import com.jero.modules.system.model.TreeModel;
import com.jero.modules.system.service.*; import com.jero.modules.system.service.*;
import com.jero.modules.system.util.PermissionDataUtil; import com.jero.modules.system.util.PermissionDataUtil;
import org.jetbrains.annotations.NotNull;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@@ -178,29 +179,6 @@ public class SysPermissionController {
return Result.error("批量查询子菜单失败:" + e.getMessage()); return Result.error("批量查询子菜单失败:" + e.getMessage());
} }
} }
// update_end author:sunjianlei date:20200108 for: 新增批量根据父ID查询子级菜单的接口 -------------
// /**
// * 查询用户拥有的菜单权限和按钮权限(根据用户账号)
// *
// * @return
// */
// @RequestMapping(value = "/queryByUser", method = RequestMethod.GET)
// public Result<JSONArray> queryByUser(HttpServletRequest req) {
// Result<JSONArray> result = new Result<>();
// try {
// String username = req.getParameter("username");
// List<SysPermission> metaList = sysPermissionService.queryByUser(username);
// JSONArray jsonArray = new JSONArray();
// this.getPermissionJsonArray(jsonArray, metaList, null);
// result.setResult(jsonArray);
// result.success("查询成功");
// } catch (Exception e) {
// result.error("查询失败:" + e.getMessage());
// log.error(e.getMessage(), e);
// }
// return result;
// }
/** /**
* 查询用户拥有的菜单权限和按钮权限 * 查询用户拥有的菜单权限和按钮权限
@@ -228,7 +206,6 @@ public class SysPermissionController {
LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<>(); LambdaQueryWrapper<SysPermission> query = new LambdaQueryWrapper<>();
query.eq(SysPermission::getDelFlag, CommonConstant.DEL_FLAG_0); query.eq(SysPermission::getDelFlag, CommonConstant.DEL_FLAG_0);
query.eq(SysPermission::getMenuType, CommonConstant.MENU_TYPE_2); query.eq(SysPermission::getMenuType, CommonConstant.MENU_TYPE_2);
//query.eq(SysPermission::getStatus, "1");
List<SysPermission> allAuthList = sysPermissionService.list(query); List<SysPermission> allAuthList = sysPermissionService.list(query);
JSONArray allauthjsonArray = new JSONArray(); JSONArray allauthjsonArray = new JSONArray();
this.getAllAuthJsonArray(allauthjsonArray, allAuthList); this.getAllAuthJsonArray(allauthjsonArray, allAuthList);
@@ -513,15 +490,19 @@ public class SysPermissionController {
} }
String tempPid = permission.getParentId(); String tempPid = permission.getParentId();
JSONObject json = getPermissionJsonObject(permission); JSONObject json = getPermissionJsonObject(permission);
if(json==null) {
continue;
}
if (parentJson == null && oConvertUtils.isEmpty(tempPid)) { if (parentJson == null && oConvertUtils.isEmpty(tempPid)) {
jsonArray.add(json); jsonArray.add(json);
if (!permission.isLeaf()) { if (!permission.isLeaf()) {
getPermissionJsonArray(jsonArray, metaList, json); getPermissionJsonArray(jsonArray, metaList, json);
} }
} else if (parentJson != null && oConvertUtils.isNotEmpty(tempPid) && tempPid.equals(parentJson.getString("id"))) { } else if (parentJson != null && oConvertUtils.isNotEmpty(tempPid) && tempPid.equals(parentJson.getString("id"))) {
putParentJson(jsonArray, metaList, parentJson, permission, json);
}
}
}
private void putParentJson(JSONArray jsonArray, List<SysPermission> metaList, JSONObject parentJson, SysPermission permission, JSONObject json) {
// 类型( 0:一级菜单 1:子菜单 2:按钮 ) // 类型( 0:一级菜单 1:子菜单 2:按钮 )
if (permission.getMenuType().equals(CommonConstant.MENU_TYPE_2)) { if (permission.getMenuType().equals(CommonConstant.MENU_TYPE_2)) {
JSONObject metaJson = parentJson.getJSONObject("meta"); JSONObject metaJson = parentJson.getJSONObject("meta");
@@ -548,9 +529,6 @@ public class SysPermissionController {
} }
} }
}
}
/** /**
* 根据菜单配置生成路由json * 根据菜单配置生成路由json
* @param permission * @param permission
@@ -560,40 +538,20 @@ public class SysPermissionController {
JSONObject json = new JSONObject(); JSONObject json = new JSONObject();
// 类型(0:一级菜单 1:子菜单 2:按钮) // 类型(0:一级菜单 1:子菜单 2:按钮)
if (permission.getMenuType().equals(CommonConstant.MENU_TYPE_2)) { if (permission.getMenuType().equals(CommonConstant.MENU_TYPE_2)) {
//json.put("action", permission.getPerms());
//json.put("type", permission.getPermsType());
//json.put("describe", permission.getName());
return new JSONObject(); return new JSONObject();
} else if (permission.getMenuType().equals(CommonConstant.MENU_TYPE_0) || permission.getMenuType().equals(CommonConstant.MENU_TYPE_1)) { } else if (permission.getMenuType().equals(CommonConstant.MENU_TYPE_0) || permission.getMenuType().equals(CommonConstant.MENU_TYPE_1)) {
json.put("id", permission.getId()); json.put("id", permission.getId());
if (permission.isRoute()) { putJson(permission, json);
json.put("route", "1");// 表示生成路由
} else {
json.put("route", "0");// 表示不生成路由
}
if (isWWWHttpUrl(permission.getUrl())) {
json.put("path", MD5Util.MD5Encode(permission.getUrl(), "utf-8"));
} else {
json.put("path", permission.getUrl());
}
// 重要规则:路由name (通过URL生成路由name,路由name供前端开发,页面跳转使用)
if (oConvertUtils.isNotEmpty(permission.getComponentName())) {
json.put("name", permission.getComponentName());
} else {
json.put("name", urlToRouteName(permission.getUrl()));
}
// 是否隐藏路由,默认都是显示的
if (permission.isHidden()) {
json.put("hidden", true);
}
// 聚合路由
if (permission.isAlwaysShow()) {
json.put("alwaysShow", true);
}
json.put("component", permission.getComponent()); json.put("component", permission.getComponent());
JSONObject meta = putMeta(permission, json);
json.put("meta", meta);
}
return json;
}
@NotNull
private JSONObject putMeta(SysPermission permission, JSONObject json) {
JSONObject meta = new JSONObject(); JSONObject meta = new JSONObject();
// 由用户设置是否缓存页面 用布尔值 // 由用户设置是否缓存页面 用布尔值
if (permission.isKeepAlive()) { if (permission.isKeepAlive()) {
@@ -634,10 +592,37 @@ public class SysPermissionController {
if (isWWWHttpUrl(permission.getUrl())) { if (isWWWHttpUrl(permission.getUrl())) {
meta.put("url", permission.getUrl()); meta.put("url", permission.getUrl());
} }
json.put("meta", meta); return meta;
} }
return json; private void putJson(SysPermission permission, JSONObject json) {
if (permission.isRoute()) {
json.put("route", "1");// 表示生成路由
} else {
json.put("route", "0");// 表示不生成路由
}
if (isWWWHttpUrl(permission.getUrl())) {
json.put("path", MD5Util.MD5Encode(permission.getUrl(), "utf-8"));
} else {
json.put("path", permission.getUrl());
}
// 重要规则:路由name (通过URL生成路由name,路由name供前端开发,页面跳转使用)
if (oConvertUtils.isNotEmpty(permission.getComponentName())) {
json.put("name", permission.getComponentName());
} else {
json.put("name", urlToRouteName(permission.getUrl()));
}
// 是否隐藏路由,默认都是显示的
if (permission.isHidden()) {
json.put("hidden", true);
}
// 聚合路由
if (permission.isAlwaysShow()) {
json.put("alwaysShow", true);
}
} }
/** /**