|
|
@@ -322,20 +322,98 @@ public class ApiService {
|
|
|
}
|
|
|
|
|
|
// 新建权限
|
|
|
- public void addPermissions(Map maps) {
|
|
|
- String objectType = maps.get("object_type").toString();
|
|
|
- String menuName = "";
|
|
|
- if (maps.containsKey("object_type")) {
|
|
|
- menuName = maps.get("menu_name").toString();
|
|
|
+ public Map addPermissions(Map maps) {
|
|
|
+ Map ret = new HashMap<>();
|
|
|
+ if (!maps.containsKey("object_type")) {
|
|
|
+ // 如果不存在类型,返回错误
|
|
|
+ ret.put("sysErrorCode", "51000");
|
|
|
+
|
|
|
+ return ret;
|
|
|
+ }
|
|
|
+
|
|
|
+ ret = this.handlePagePermission(maps);
|
|
|
+
|
|
|
+
|
|
|
+ return ret;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 整理page的添加和编辑权限项目
|
|
|
+ private Map handlePagePermission(Map params) {
|
|
|
+ // 肯定存在的参数字段
|
|
|
+ String isEnable = params.get("is_enable").toString();
|
|
|
+ String objectType = params.get("object_type").toString();
|
|
|
+ // 以下参数可能不存在
|
|
|
+ String isVisible = "0"; // 当是菜单的时候,是否可见
|
|
|
+ String isMenu = "0"; // 是否为菜单
|
|
|
+ String menuName = ""; // 菜单名称,page_details表有数据,则此字段可能不存在
|
|
|
+ String objectId = "0"; // 关联的基础details表id
|
|
|
+ String parentId = "0";// 上级id,顶级菜单,此字段可能不传
|
|
|
+ String permissionDescribe = ""; // 描述非必填
|
|
|
+ String permissionSort = "0";
|
|
|
+ String permissionsIcon = "";
|
|
|
+ String id = ""; // 编辑的id
|
|
|
+ if (params.containsKey("id")) {
|
|
|
+ id = params.get("id").toString();
|
|
|
+ }
|
|
|
+ if (params.containsKey("is_visible")) {
|
|
|
+ isVisible = params.get("is_visible").toString();
|
|
|
+ }
|
|
|
+ if (params.containsKey("is_menu")) {
|
|
|
+ isMenu = params.get("is_menu").toString();
|
|
|
+ }
|
|
|
+ if(params.containsKey("menu_name")) {
|
|
|
+ menuName = params.get("menu_name").toString();
|
|
|
}
|
|
|
- // 通过是否有菜单名称,判断是否是菜单.
|
|
|
if (objectType.equals("page")) {
|
|
|
- // 如果没有父级id,则应该有菜单名称.因为没有页面,是菜单目录,要展示菜单名称
|
|
|
- // 如果不是菜单,则应该选择页面,启用. 父级权限可选或不选
|
|
|
- // 如果是菜单,则可以不选择页面,也可以选择页面. 可以选择父级菜单,即自己是子菜单. 或者不选择父级菜单,自己是顶级菜单.可以输入icon
|
|
|
+ if(params.containsKey("page_id")) {
|
|
|
+ objectId = params.get("page_id").toString();
|
|
|
+ }
|
|
|
+ } else if (objectType.equals("sql")) {
|
|
|
+ if(params.containsKey("sql_id")) {
|
|
|
+ objectId = params.get("sql_id").toString();
|
|
|
+ }
|
|
|
+ } else if (objectType.equals("api")) {
|
|
|
+ if(params.containsKey("api_id")) {
|
|
|
+ objectId = params.get("api_id").toString();
|
|
|
+ }
|
|
|
+ } else if (objectType.equals("item")) {
|
|
|
+ if(params.containsKey("item_id")) {
|
|
|
+ objectId = params.get("item_id").toString();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(params.containsKey("parent_id")) {
|
|
|
+ parentId = params.get("parent_id").toString();
|
|
|
+ }
|
|
|
+ if(params.containsKey("permission_describe")) {
|
|
|
+ permissionDescribe = params.get("permission_describe").toString();
|
|
|
}
|
|
|
- System.out.println("权限数据----------------"+objectType);
|
|
|
- System.out.println("权限数据----------------"+menuName);
|
|
|
+ if(params.containsKey("permission_sort")) {
|
|
|
+ permissionSort = params.get("permission_sort").toString();
|
|
|
+ }
|
|
|
+ if(params.containsKey("permissions_icon")) {
|
|
|
+ permissionsIcon = params.get("permissions_icon").toString();
|
|
|
+ }
|
|
|
+ String createdAt = commonUtil.getNowYYMMDDHHIISS();
|
|
|
+ Map<String, Object> bindVal = new HashMap<>();
|
|
|
+ bindVal.put("isEnable", isEnable);
|
|
|
+ bindVal.put("isMenu", isMenu);
|
|
|
+ bindVal.put("isVisible", isVisible);
|
|
|
+ bindVal.put("objectType", objectType);
|
|
|
+ bindVal.put("menuName", menuName);
|
|
|
+ bindVal.put("objectId", objectId);
|
|
|
+ bindVal.put("parentId", parentId);
|
|
|
+ bindVal.put("permissionDescribe", permissionDescribe);
|
|
|
+ bindVal.put("permissionSort", permissionSort);
|
|
|
+ bindVal.put("permissionsIcon", permissionsIcon);
|
|
|
+ bindVal.put("createdAt", createdAt);
|
|
|
+ Integer savePermission = apiDao.savePermission(bindVal, id);
|
|
|
+ Map ret = new HashMap<>();
|
|
|
+ if(savePermission < 1) {
|
|
|
+ ret.put("sysErrorCode", "51000");
|
|
|
+ }
|
|
|
+
|
|
|
+ return ret;
|
|
|
}
|
|
|
|
|
|
// 添加角色
|
|
|
@@ -743,21 +821,7 @@ public class ApiService {
|
|
|
|
|
|
private Map getPermissionDetails(String stringObjectType, String stringObjectId, String stringMenuName) {
|
|
|
String separator = " / ";
|
|
|
- Map map = new HashMap<>();
|
|
|
- // 如果是page,且object_id=0.则代表是菜单目录,没有路径(即不需要打开页面)
|
|
|
-
|
|
|
-// String showNamePageCode = ""; // 权限管理-page类型使用
|
|
|
-// if (tmp.containsKey("page_code") && tmp.containsKey("menu_name")) {
|
|
|
-// if (tmp.get("page_code") != null) {
|
|
|
-// showNamePageCode = tmp.get("page_code").toString() + "-";
|
|
|
-// }
|
|
|
-// if (tmp.get("page_name") != null) {
|
|
|
-// showNamePageCode = showNamePageCode + tmp.get("page_name").toString();
|
|
|
-// } else {
|
|
|
-// showNamePageCode = showNamePageCode + tmp.get("menu_name").toString();
|
|
|
-// }
|
|
|
-// }
|
|
|
-// tmp.put("show_name", showNamePageCode);
|
|
|
+ Map map = new HashMap<>();
|
|
|
if (stringObjectType.equals("page")) {
|
|
|
if(stringObjectId.equals("0")) {
|
|
|
// 如果是菜单目录,则无路径,无权限名称只有菜单名称
|
|
|
@@ -770,17 +834,17 @@ public class ApiService {
|
|
|
map.put("permission_name", pageInfo.get("page_name"));
|
|
|
map.put("show_name", pageInfo.get("page_code").toString() + separator + pageInfo.get("page_name"));
|
|
|
}
|
|
|
- } else if (stringObjectType.equals("sql")) {
|
|
|
+ } else if (stringObjectType.equals("sql") && !stringObjectId.equals("0")) {
|
|
|
Map pageInfo = apiDao.getDetailsInfoByIdAndType("sql_details", stringObjectId);
|
|
|
map.put("permission_path", "/dbapi/"+pageInfo.get("sql_code"));
|
|
|
map.put("permission_name", pageInfo.get("sql_name"));
|
|
|
map.put("show_name", pageInfo.get("sql_code").toString() + separator + pageInfo.get("sql_name"));
|
|
|
- } else if (stringObjectType.equals("api")) {
|
|
|
+ } else if (stringObjectType.equals("api") && !stringObjectId.equals("0")) {
|
|
|
Map pageInfo = apiDao.getDetailsInfoByIdAndType("api_details", stringObjectId);
|
|
|
map.put("permission_path", "/api/"+pageInfo.get("api_code"));
|
|
|
map.put("permission_name", pageInfo.get("api_name"));
|
|
|
map.put("show_name", pageInfo.get("api_code").toString() + separator + pageInfo.get("api_name"));
|
|
|
- }else if (stringObjectType.equals("item")) {
|
|
|
+ } else if (stringObjectType.equals("item") && !stringObjectId.equals("0")) {
|
|
|
Map pageInfo = apiDao.getDetailsInfoByIdAndType("item_details", stringObjectId);
|
|
|
map.put("permission_path", "/api/"+pageInfo.get("item_code"));
|
|
|
map.put("permission_name", pageInfo.get("item_name"));
|