Pu Zhibing
2025-01-14 66df2da5f7c05787ff215a66cfc882bc238bbcc4
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java
@@ -1,5 +1,6 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.core.constant.Constants;
import com.ruoyi.common.core.constant.UserConstants;
@@ -7,14 +8,16 @@
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.system.api.domain.SysRole;
import com.ruoyi.system.api.model.SysUserRole;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.domain.SysMenu;
import com.ruoyi.system.domain.SysMenus;
import com.ruoyi.system.domain.SysUserRole;
import com.ruoyi.system.domain.vo.MetaVo;
import com.ruoyi.system.domain.vo.RouterVo;
import com.ruoyi.system.domain.vo.TreeSelect;
import com.ruoyi.system.mapper.*;
import com.ruoyi.system.service.ISysMenuService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -31,19 +34,19 @@
{
    public static final String PREMISSION_STRING = "perms[\"{0}\"]";
    @Resource
    @Autowired
    private SysMenuMapper menuMapper;
    @Resource
    @Autowired
    private SysRoleMapper roleMapper;
    @Resource
    @Autowired
    private SysRoleMenuMapper roleMenuMapper;
    @Resource
    @Autowired
    private TokenService tokenService;
    @Resource
    @Autowired
    private SysUserRoleMapper sysUserRoleMapper;
    @Resource
@@ -229,7 +232,7 @@
        List<Long> tempList = menus.stream().map(SysMenu::getMenuId).collect(Collectors.toList());
        for (Iterator<SysMenu> iterator = menus.iterator(); iterator.hasNext();)
        {
            SysMenu menu = (SysMenu) iterator.next();
            SysMenu menu = iterator.next();
            // 如果是顶级节点, 遍历该父节点的所有子节点
            if (!tempList.contains(menu.getParentId()))
            {
@@ -352,11 +355,12 @@
    @Override
    public List<SysMenus> getAllMenu() {
        Long userid = tokenService.getLoginUser().getUserid();
        SysUser sysUser = sysUserMapper.selectById(userid);
        SysUserRole sysUserRole = sysUserRoleMapper.selectSysUserRoleByUserId(userid);
        Long roleId = sysUserRole.getRoleId();
        List<SysMenus> list=null;
        if(roleId!=1){
            list = menuMapper.getAllOne();
            list = menuMapper.getAllOne(sysUser.getRoleType());
        }else {
             list = menuMapper.getAll();
        }
@@ -503,7 +507,7 @@
        List<SysMenu> returnList = new ArrayList<SysMenu>();
        for (Iterator<SysMenu> iterator = list.iterator(); iterator.hasNext();)
        {
            SysMenu t = (SysMenu) iterator.next();
            SysMenu t = iterator.next();
            // 一、根据传入的某个父节点ID,遍历该父节点的所有子节点
            if (t.getParentId() == parentId)
            {
@@ -543,7 +547,7 @@
        Iterator<SysMenu> it = list.iterator();
        while (it.hasNext())
        {
            SysMenu n = (SysMenu) it.next();
            SysMenu n = it.next();
            if (n.getParentId().longValue() == t.getMenuId().longValue())
            {
                tlist.add(n);
@@ -570,4 +574,11 @@
        return StringUtils.replaceEach(path, new String[] { Constants.HTTP, Constants.HTTPS, Constants.WWW, "." },
                new String[] { "", "", "", "/" });
    }
    @Override
    public List<SysMenu> getAllMenu(Integer roleType) {
        return this.list(new LambdaQueryWrapper<SysMenu>().eq(SysMenu::getRoleType, roleType).eq(SysMenu::getVisible, 0)
                .eq(SysMenu::getStatus, 0));
    }
}