david 2 лет назад
Родитель
Сommit
94dfca994c

BIN
out/artifacts/roma_api_jar/roma-api.jar


+ 10 - 0
src/main/java/com/roma/romaapi/controller/ApiController.java

@@ -77,6 +77,16 @@ public class ApiController {
         return CustomResponse.formatResponse(ret);
     }
 
+    // 权限管理-获取全部page权限项
+    @RequestMapping("/api/pagePermissionList")
+    public Map pagePermissionList(HttpServletRequest request) {
+        Map<String, Object> ret = new HashMap<>();
+        List allPermiss = apiService.pagePermissionList();
+        ret.put("options", allPermiss);
+
+        return CustomResponse.formatResponse(ret);
+    }
+
     // 权限管理-添加权限
     @RequestMapping("/api/addPermissions")
     public Map addPermissions(HttpServletRequest request, @RequestBody String data) {

+ 12 - 6
src/main/java/com/roma/romaapi/dao/PageDao.java

@@ -50,12 +50,6 @@ public class PageDao {
     // 获取全部权限
     public List<Map<String, Object>> getAllMenuForList(){
         Map<String, Object> paramMap = new HashMap<>();
-//        paramMap.put("append_params", "1");
-//        String sql = " SELECT  `rp`.`is_enable`,`rp`.`id`,`rp`.`parent_id`,`rp`.`icon`,`rp`.`type`,`rp`.`value` AS `path`,`pd`.`front_path` AS `url`,`rp`.`display_name` AS `label` " +
-//                "FROM `roma_permissions` AS `rp` LEFT JOIN `page_details` AS `pd` ON `pd`.`id`=`rp`.`page_id` " +
-//                "WHERE  (1=:append_params )  ORDER BY `rp`.`sort` ASC ";
-//        List<Map<String, Object>> resMap2 = namedParameterJdbcTemplate.queryForList(sql, paramMap);
-
         String sql = " SELECT  `rp`.`is_enable`,`rp`.`id`,`rp`.`parent_id`,`rp`.`permissions_icon`,`rp`.`object_type`," +
                 "`rp`.`object_id`,`rp`.`is_menu`,`rp`.`permission_sort`,`rp`.`menu_name` FROM `roma_permissions` AS `rp` " +
                 "WHERE  1=1  ORDER BY `rp`.`permission_sort` ASC";
@@ -64,6 +58,18 @@ public class PageDao {
         return resMap2;
     }
 
+    // 获取Page全部权限
+    public List<Map<String, Object>> getPageMenuForList(){
+        Map<String, Object> paramMap = new HashMap<>();
+        String sql = " SELECT  `pd`.`page_code`,`pd`.`page_name`,`rp`.`is_enable`,`rp`.`id`,`rp`.`parent_id`,`rp`.`permissions_icon`,`rp`.`object_type`," +
+                "`rp`.`object_id`,`rp`.`is_menu`,`rp`.`permission_sort`,`rp`.`menu_name` FROM `roma_permissions` AS `rp` " +
+                " LEFT JOIN `page_details` as `pd` ON `pd`.`id`=`rp`.`object_id` " +
+                "WHERE `object_type`='page' ORDER BY `rp`.`permission_sort` ASC";
+        List<Map<String, Object>> resMap2 = namedParameterJdbcTemplate.queryForList(sql, paramMap);
+
+        return resMap2;
+    }
+
     // 获取全部的页面
     public List<Map<String, Object>> getAllPageList() {
         Map<String, Object> paramMap = new HashMap<>();

+ 31 - 0
src/main/java/com/roma/romaapi/service/ApiService.java

@@ -140,6 +140,15 @@ public class ApiService {
         return treeMenu;
     }
 
+    // 获取Page全部数据-权限添加使用
+    public List pagePermissionList() {
+        Map<String, Object> map = new HashMap<>();
+        List<Map<String, Object>> menuData = pageDao.getPageMenuForList(); // 获取page数据
+        List<Map<String, Object>> treeMenu = this.treeMenu(menuData);  // 生成树结构
+
+        return treeMenu;
+    }
+
     // 获取全部角色
     public Map roleList(Map<String, String> maps) {
         String page = "1"; // 页数
@@ -706,6 +715,9 @@ public class ApiService {
             if (permissionDetails.containsKey("permission_name")) {
                 map.put("permission_name", permissionDetails.get("permission_name"));
             }
+            if (permissionDetails.containsKey("show_name")) {
+                map.put("show_name", permissionDetails.get("show_name"));
+            }
             if (stringParentId.equals(id)) {
                 // 组装子节点,开始循环去获取子节点
                 List<?> children = menuChild(stringDataId, data);
@@ -721,30 +733,49 @@ 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);
         if (stringObjectType.equals("page")) {
             if(stringObjectId.equals("0")) {
                 // 如果是菜单目录,则无路径,无权限名称只有菜单名称
                 map.put("permission_name", stringMenuName);
+                map.put("show_name", stringMenuName);
             } else {
                 // 获取page_details表数据,编码,和权限名称
                 Map pageInfo = apiDao.getDetailsInfoByIdAndType("page_details", stringObjectId);
                 map.put("permission_path", "/page/"+pageInfo.get("page_code"));
                 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")) {
             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")) {
             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")) {
             Map pageInfo = apiDao.getDetailsInfoByIdAndType("item_details", stringObjectId);
             map.put("permission_path", "/api/"+pageInfo.get("item_code"));
             map.put("permission_name", pageInfo.get("item_name"));
+            map.put("show_name", pageInfo.get("item_code").toString() + separator + pageInfo.get("item_name"));
         }
 
          return map;