|
@@ -8,6 +8,8 @@ import java.util.LinkedList;
|
|
|
import java.util.List;
|
|
|
import java.util.Set;
|
|
|
import java.util.stream.Collectors;
|
|
|
+
|
|
|
+import com.ruoyi.system.service.ISysUserService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import com.ruoyi.common.constant.Constants;
|
|
@@ -35,6 +37,9 @@ public class SysMenuServiceImpl implements ISysMenuService
|
|
|
{
|
|
|
public static final String PREMISSION_STRING = "perms[\"{0}\"]";
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ISysUserService userService;
|
|
|
+
|
|
|
@Autowired
|
|
|
private SysMenuMapper menuMapper;
|
|
|
|
|
@@ -66,11 +71,14 @@ public class SysMenuServiceImpl implements ISysMenuService
|
|
|
public List<SysMenu> selectMenuList(SysMenu menu, Long userId)
|
|
|
{
|
|
|
List<SysMenu> menuList = null;
|
|
|
+ SysUser user = userService.selectUserById(userId);
|
|
|
// 管理员显示所有菜单信息
|
|
|
if (SysUser.isAdmin(userId))
|
|
|
{
|
|
|
menuList = menuMapper.selectMenuList(menu);
|
|
|
- } else
|
|
|
+ } else if (user.isTenantAdmin()) {
|
|
|
+ menuList = menuMapper.selectTenantMenuList(user.getTenantId());
|
|
|
+ } else
|
|
|
{
|
|
|
menu.getParams().put("userId", userId);
|
|
|
menuList = menuMapper.selectMenuListByUserId(menu);
|
|
@@ -78,13 +86,6 @@ public class SysMenuServiceImpl implements ISysMenuService
|
|
|
return menuList;
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public List<SysMenu> selectMenuList(SysMenu menu, Long userId, Long tenantId)
|
|
|
- {
|
|
|
- List<SysMenu> menuList = menuMapper.selectTenantMenuList(tenantId);
|
|
|
- return menuList;
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* 根据用户ID查询权限
|
|
|
*
|
|
@@ -137,13 +138,12 @@ public class SysMenuServiceImpl implements ISysMenuService
|
|
|
public List<SysMenu> selectMenuTreeByUserId(Long userId)
|
|
|
{
|
|
|
List<SysMenu> menus = null;
|
|
|
- String userType = SecurityUtils.getUserType();
|
|
|
- Long tenantId = SecurityUtils.getTenantId();
|
|
|
+ SysUser user = userService.selectUserById(userId);
|
|
|
if (SecurityUtils.isAdmin(userId))
|
|
|
{
|
|
|
menus = menuMapper.selectMenuTreeAll();
|
|
|
- } else if (SecurityUtils.isTenantAdmin(userType, tenantId)) {
|
|
|
- menus = menuMapper.selectTenantMenuTreeAll(tenantId);
|
|
|
+ } else if (user.isTenantAdmin()) {
|
|
|
+ menus = menuMapper.selectTenantMenuTreeAll(user.getTenantId());
|
|
|
} else {
|
|
|
menus = menuMapper.selectMenuTreeByUserId(userId);
|
|
|
}
|