mitao
2024-04-15 ce7e6574a1f9942fc090d989b52aceaa11ba8f3e
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
@@ -1,6 +1,7 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageDTO;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.domain.entity.SysMenu;
@@ -39,7 +40,8 @@
 * @author ruoyi
 */
@Service
public class SysRoleServiceImpl implements ISysRoleService {
public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements
        ISysRoleService {
    @Autowired
    private SysRoleMapper roleMapper;
@@ -536,6 +538,7 @@
        // 添加角色
        SysRole sysRole = new SysRole();
        sysRole.setRoleName(dto.getRoleName());
        sysRole.setRoleKey("admin");
        roleMapper.insertRole(sysRole);
        // 添加角色权限中间表
@@ -579,4 +582,17 @@
        return roleMenuMapper.batchRoleMenu(sysRoleMenus);
    }
    @Override
    public List<SysMenu> getMenuByRoleId(Long roleId) {
        SysRole sysRole = roleMapper.selectRoleById(roleId);
        // 获取当前角色的菜单列表
        List<SysMenu> menus = menuMapper.selectListByRoleId(sysRole.getRoleId());
        if (menus.size() == 0) {
            return new ArrayList<>();
        }
        List<Long> menusId = menus.stream().map(SysMenu::getMenuId).collect(Collectors.toList());
        // 获取当前的权限菜单(有层级)
        return this.getMenuLevelList(menusId);
    }
}