麻涌公司网站建设公司,全景图网页制作工具,多种网站建设,做办公室的网站3.权限管理器
3.1 权限列表展示功能
1#xff09;原型效果 2#xff09;接口说明
功能描述#xff1a; 查询所有权限集合
服务路径#xff1a; /api/permissions
服务方法#xff1a;Get
请求参数#xff1a;无响应数据格式:
{code: 1,data:…3.权限管理器
3.1 权限列表展示功能
1原型效果 2接口说明
功能描述 查询所有权限集合
服务路径 /api/permissions
服务方法Get
请求参数无响应数据格式:
{code: 1,data: [{id: 1236916745927790556,code: btn-user-delete,title: 删除用户权限,icon: ,perms: sys:user:delete,url: /api/user,method: DELETE,name: ,pid: 1236916745927790575,orderNum: 100,type: 3,status: 1,createTime: 2020-01-08T07:42:50.00000:00,updateTime: null,deleted: 1},{id: 1473855535827783680,code: ,title: 测试-01,icon: el-icon-user-solid,perms: ,url: null,method: ,name: test-01,pid: 0,orderNum: 555,type: 1,status: 1,createTime: 2021-12-23T03:18:36.00000:00,updateTime: 2021-12-23T03:18:36.00000:00,deleted: 1}//...............]
}代码实现
1. 表现层 ApiOperation(value 权限列表展示功能)GetMapping(/permissions)public RArrayListSysPermission getPermissions(){return service.getPermissions();}2. 服务层
RArrayListSysPermission getPermissions();Overridepublic RArrayListSysPermission getPermissions() {ArrayListSysPermission permisson_data sysPermissionMapper.getPermissions();return R.ok(permisson_data);}3. Dao层
ArrayList permisson_data sysPermissionMapper.getPermissions();
ArrayListSysPermission getPermissions();select idgetPermissions resultTypecom.jixu.stock.pojo.entity.SysPermissionselect id, code, title, icon, perms, url, method, name, pid, order_num, type, status, create_time, update_time, deletedfrom sys_permission;/select3.3 添加权限时回显权限树
1原型效果 2接口说明
功能描述 添加权限时回显权限树,仅仅显示目录和菜单
服务路径 /api/permissions/tree
服务方法Get
请求参数无响应数据格式:
保证数据顺序
{code: 1,data: [{id: 0,title: 顶级菜单,level: 0},{id: 1236916745927790564,title: 组织管理,level: 1},{id: 1236916745927790560,title: 菜单权限管理,level: 2},{id: 1236916745927790575,title: 用户管理,level: 2},{id: 1236916745927790578,title: 角色管理,level: 2},{id: 1236916745927790569,title: 系统管理,level: 1},{id: 1236916745927790558,title: 接口管理,level: 2},{id: 1236916745927790571,title: SQL监控,level: 2},{id: 1236916745927790589,title: 日志管理,level: 2},{id: 1247842736313339904,title: 测试菜单,level: 1},{id: 1247871697634332672,title: 测试子菜单,level: 2},{id: 1247877926632951808,title: 测试子菜单1,level: 2},{id: 1247880664557162496,title: 测试菜单2,level: 1},{id: 1247881176622960640,title: 测试子菜单2,level: 2},{id: 1247881904334704640,title: 测试子菜单3,level: 2},{id: 1469201551976435712,title: 任务管理,level: 1},{id: 1473855535827783680,title: 测试-01,level: 1}]
}代码实现
1. 表现层 ApiOperation(value 添加权限时回显权限树)GetMapping(/permissions/tree)public RArrayListHashMap getPermissionsTree(){return service.getPermissionsTree();}2. 服务层
RArrayListHashMap getPermissionsTree();Overridepublic RArrayListHashMap getPermissionsTree() {// 获取全部数据ArrayListPermissonTreeDomian permisson_data sysPermissionMapper.getPermissionTree();// 组装数据进行递归HashMapLong, PermissonTreeDomian data new HashMap();for (PermissonTreeDomian permissonDatum : permisson_data) {Long id permissonDatum.getId();HashMapLong, PermissonTreeDomian map new HashMap();map.put(id , permissonDatum);data.put(id ,permissonDatum);}// 进行递归ArrayListHashMap treeList new ArrayList();HashMapString, Object map new HashMap();map.put(id,0);map.put(title,顶级菜单);map.put(level,0);treeList.add(map);TreeUtil.buildPermissionTree(data, Long.valueOf(0),1,treeList);return R.ok(treeList);}3. Dao层
// 获取全部数据 ArrayList permisson_data sysPermissionMapper.getPermissionTree();
ArrayListPermissonTreeDomian getPermissionTree();select idgetPermissionTree resultTypecom.jixu.stock.pojo.domain.PermissonTreeDomianselect id,title,pidfrom sys_permission;/select4. 工具类
public static ListHashMap buildPermissionTree(MapLong, PermissonTreeDomian permissionMap, Long parentId , Integer count,ListHashMap treeList) {// 创建列表用于保存数据// 循环查询是否有符合条件的数据for (Map.EntryLong, PermissonTreeDomian entry : permissionMap.entrySet()) {PermissonTreeDomian permissionDomain entry.getValue();// 如何Id pid 则获取到了if (parentId.equals(permissionDomain.getPid())) { // 假设PermissonTreeDomian类中有一个getPid()方法返回父IDString title permissionDomain.getTitle();Long id permissionDomain.getId();HashMapString, Object map new HashMap();map.put(id , id);map.put(title , title);map.put(count , count);treeList.add(map);buildPermissionTree(permissionMap, permissionDomain.getId(),count1,treeList);}}return treeList;}5. 实体类
Data
public class PermissonTreeDomian {private Long id;private Long pid;private String title;
}