| | |
| | | " \"path\": \"/community/communityMap\",\n" + |
| | | " \"children\": [\n" + |
| | | " {\n" + |
| | | " \"name\": \"编辑\",\n" + |
| | | " \"path\": \"edit\"\n" + |
| | | " \"name\": \"社区地图管理\",\n" + |
| | | " \"path\": \"/community/communityMap\",\n" + |
| | | " \"children\": [\n" + |
| | | " {\n" + |
| | | " \"name\": \"编辑\",\n" + |
| | | " \"path\": \"edit\"\n" + |
| | | " }\n" + |
| | | " ]\n" + |
| | | " }\n" + |
| | | " ]\n" + |
| | | " },\n" + |
| | |
| | | " \"path\": \"/community/pointPersonClass\",\n" + |
| | | " \"children\": [\n" + |
| | | " {\n" + |
| | | " \"name\": \"新增\",\n" + |
| | | " \"path\": \"add\"\n" + |
| | | " },\n" + |
| | | " {\n" + |
| | | " \"name\": \"编辑\",\n" + |
| | | " \"path\": \"edit\"\n" + |
| | | " },\n" + |
| | | " {\n" + |
| | | " \"name\": \"删除\",\n" + |
| | | " \"path\": \"delete\"\n" + |
| | | " \"name\": \"重点人员分类\",\n" + |
| | | " \"path\": \"/community/pointPersonClass\",\n" + |
| | | " \"children\": [\n" + |
| | | " {\n" + |
| | | " \"name\": \"新增\",\n" + |
| | | " \"path\": \"add\"\n" + |
| | | " },\n" + |
| | | " {\n" + |
| | | " \"name\": \"编辑\",\n" + |
| | | " \"path\": \"edit\"\n" + |
| | | " },\n" + |
| | | " {\n" + |
| | | " \"name\": \"删除\",\n" + |
| | | " \"path\": \"delete\"\n" + |
| | | " }\n" + |
| | | " ]\n" + |
| | | " }\n" + |
| | | " ]\n" + |
| | | " },\n" + |
| | |
| | | " \"path\": \"/community/pointPersonData\",\n" + |
| | | " \"children\": [\n" + |
| | | " {\n" + |
| | | " \"name\": \"新增\",\n" + |
| | | " \"path\": \"add\"\n" + |
| | | " },\n" + |
| | | " {\n" + |
| | | " \"name\": \"编辑\",\n" + |
| | | " \"path\": \"edit\"\n" + |
| | | " },\n" + |
| | | " {\n" + |
| | | " \"name\": \"删除\",\n" + |
| | | " \"path\": \"delete\"\n" + |
| | | " },\n" + |
| | | " {\n" + |
| | | " \"name\": \"导入\",\n" + |
| | | " \"path\": \"import\"\n" + |
| | | " \"name\": \"重点人员数据管理\",\n" + |
| | | " \"path\": \"/community/pointPersonData\",\n" + |
| | | " \"children\": [\n" + |
| | | " {\n" + |
| | | " \"name\": \"新增\",\n" + |
| | | " \"path\": \"add\"\n" + |
| | | " },\n" + |
| | | " {\n" + |
| | | " \"name\": \"编辑\",\n" + |
| | | " \"path\": \"edit\"\n" + |
| | | " },\n" + |
| | | " {\n" + |
| | | " \"name\": \"删除\",\n" + |
| | | " \"path\": \"delete\"\n" + |
| | | " },\n" + |
| | | " {\n" + |
| | | " \"name\": \"导入\",\n" + |
| | | " \"path\": \"import\"\n" + |
| | | " }\n" + |
| | | " ]\n" + |
| | | " }\n" + |
| | | " ]\n" + |
| | | " },\n" + |
| | |
| | | " \"path\": \"/community/gridPersonnel\",\n" + |
| | | " \"children\": [\n" + |
| | | " {\n" + |
| | | " \"name\": \"新增\",\n" + |
| | | " \"path\": \"add\"\n" + |
| | | " },\n" + |
| | | " {\n" + |
| | | " \"name\": \"编辑\",\n" + |
| | | " \"path\": \"edit\"\n" + |
| | | " },\n" + |
| | | " {\n" + |
| | | " \"name\": \"删除\",\n" + |
| | | " \"path\": \"delete\"\n" + |
| | | " },\n" + |
| | | " {\n" + |
| | | " \"name\": \"导入\",\n" + |
| | | " \"path\": \"import\"\n" + |
| | | " \"name\": \"社区网格人员管理\",\n" + |
| | | " \"path\": \"/community/gridPersonnel\",\n" + |
| | | " \"children\": [\n" + |
| | | " {\n" + |
| | | " \"name\": \"新增\",\n" + |
| | | " \"path\": \"add\"\n" + |
| | | " },\n" + |
| | | " {\n" + |
| | | " \"name\": \"编辑\",\n" + |
| | | " \"path\": \"edit\"\n" + |
| | | " },\n" + |
| | | " {\n" + |
| | | " \"name\": \"删除\",\n" + |
| | | " \"path\": \"delete\"\n" + |
| | | " },\n" + |
| | | " {\n" + |
| | | " \"name\": \"导入\",\n" + |
| | | " \"path\": \"import\"\n" + |
| | | " }\n" + |
| | | " ]\n" + |
| | | " }\n" + |
| | | " ]\n" + |
| | | " },\n" + |
| | |
| | | " \"path\": \"/community/communityProfile\",\n" + |
| | | " \"children\": [\n" + |
| | | " {\n" + |
| | | " \"name\": \"编辑\",\n" + |
| | | " \"path\": \"edit\"\n" + |
| | | " \"name\": \"社区概况\",\n" + |
| | | " \"path\": \"/community/communityProfile\",\n" + |
| | | " \"children\": [\n" + |
| | | " {\n" + |
| | | " \"name\": \"编辑\",\n" + |
| | | " \"path\": \"edit\"\n" + |
| | | " }\n" + |
| | | " ]\n" + |
| | | " }\n" + |
| | | " ]\n" + |
| | | " }\n" + |
| | |
| | | package com.ruoyi.system.mapper; |
| | | |
| | | import com.ruoyi.common.core.domain.entity.SysMenu; |
| | | import com.ruoyi.system.domain.SysRoleMenu; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | |
| | | |
| | | List<SysMenu> selectList(); |
| | | |
| | | List<SysRoleMenu> selectRoleMenuByRoleId(@Param("roleId")Long roleId); |
| | | |
| | | |
| | | } |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | |
| | | public List<SysMenu> roleInfoFromUserId(Long userId) { |
| | | SysRole sysRole = roleMapper.selectRoleByUserId(userId); |
| | | // 获取当前角色的菜单列表 |
| | | List<SysMenu> menus = menuMapper.selectListByRoleId(sysRole.getRoleId()); |
| | | if(menus.size()==0){ |
| | | List<SysRoleMenu> roleMenus = menuMapper.selectRoleMenuByRoleId(sysRole.getRoleId()); |
| | | if(CollectionUtils.isEmpty(roleMenus)){ |
| | | return new ArrayList<>(); |
| | | } |
| | | List<Long> menusId = menus.stream().map(SysMenu::getMenuId).collect(Collectors.toList()); |
| | | List<Long> menusId = roleMenus.stream().map(SysRoleMenu::getMenuId).collect(Collectors.toList()); |
| | | // 获取当前的权限菜单(有层级) |
| | | return this.getMenuLevelList(menusId); |
| | | return this.getResourcesLevelList(menusId); |
| | | } |
| | | |
| | | public List<SysMenu> getResourcesLevelList(List<Long> menusId) { |
| | | //获取当前的权限菜单 |
| | | List<SysMenu> allResources = menuMapper.getAllInIds(menusId); |
| | | SysMenu item; |
| | | //获取根节点的集合 |
| | | List<SysMenu> root = new ArrayList<>(); |
| | | Map<Long, SysMenu> tempMap = new HashMap<>(3); |
| | | //子节点集合 |
| | | SysMenu parent; |
| | | for (SysMenu resources : allResources) { |
| | | item = com.ruoyi.system.utils.util.SpringUtils.beanCopy(resources, SysMenu.class); |
| | | //每次循环都将集合重新循环添加到父集合中 |
| | | tempMap.put(resources.getMenuId(), item); |
| | | parent = tempMap.get(resources.getParentId()); |
| | | if (Objects.nonNull(parent)) { |
| | | //父集合不为空时,获取下级集合 |
| | | //子节点集合 |
| | | parent.getChildren().add(item); |
| | | // 对子集排序,升序 |
| | | // parent.getChildren().sort(comparing(SysMenu::getSort)); |
| | | } else { |
| | | //根集合 |
| | | root.add(item); |
| | | // 对根集合排序,升序 |
| | | // root.sort(comparing(SysMenu::getSort)); |
| | | } |
| | | } |
| | | return root; |
| | | } |
| | | |
| | | @Override |
| | |
| | | create_time AS createTime |
| | | from sys_menu |
| | | </select> |
| | | <select id="selectRoleMenuByRoleId" resultType="com.ruoyi.system.domain.SysRoleMenu"> |
| | | select srm.menu_id AS menuId, srm.role_id AS roleId |
| | | from sys_role_menu srm |
| | | WHERE srm.role_id = #{roleId} |
| | | </select> |
| | | |
| | | <update id="updateMenu" parameterType="SysMenu"> |
| | | <update id="updateMenu" parameterType="SysMenu"> |
| | | update sys_menu |
| | | <set> |
| | | <if test="menuName != null and menuName != ''">menu_name = #{menuName},</if> |