From 889531b6d710e923fce2590f0c2204b8a9a858f8 Mon Sep 17 00:00:00 2001
From: jiangqs <343695869@qq.com>
Date: 星期日, 06 八月 2023 20:12:54 +0800
Subject: [PATCH] bug
---
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysMenuServiceImpl.java | 157 ++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 139 insertions(+), 18 deletions(-)
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysMenuServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysMenuServiceImpl.java
index 39afeab..c997c07 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysMenuServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysMenuServiceImpl.java
@@ -1,21 +1,11 @@
package com.ruoyi.system.service.impl.sys;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-import java.util.stream.Collectors;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
import com.ruoyi.common.core.constant.Constants;
import com.ruoyi.common.core.constant.UserConstants;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.security.utils.SecurityUtils;
-import com.ruoyi.system.api.domain.SysRole;
-import com.ruoyi.system.api.domain.SysUser;
+import com.ruoyi.system.api.domain.poji.sys.SysRole;
+import com.ruoyi.system.api.domain.poji.sys.SysUser;
import com.ruoyi.system.domain.pojo.sys.SysMenu;
import com.ruoyi.system.domain.vo.MetaVo;
import com.ruoyi.system.domain.vo.RouterVo;
@@ -24,25 +14,36 @@
import com.ruoyi.system.mapper.sys.SysRoleMapper;
import com.ruoyi.system.mapper.sys.SysRoleMenuMapper;
import com.ruoyi.system.service.sys.ISysMenuService;
+import com.ruoyi.system.service.sys.ISysUserService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.*;
+import java.util.stream.Collectors;
/**
* 菜单 业务层处理
*
- * @author ruoyi
+ * @author jqs
*/
@Service
public class SysMenuServiceImpl implements ISysMenuService
{
public static final String PREMISSION_STRING = "perms[\"{0}\"]";
- @Autowired
+ @Resource
private SysMenuMapper menuMapper;
- @Autowired
+ @Resource
private SysRoleMapper roleMapper;
- @Autowired
+ @Resource
private SysRoleMenuMapper roleMenuMapper;
+
+ @Resource
+ private ISysUserService sysUserService;
+
+
/**
* 根据用户查询系统菜单列表
@@ -56,6 +57,43 @@
return selectMenuList(new SysMenu(), userId);
}
+ /**
+ * 根据用户查询系统菜单列表
+ *
+ * @param userId 用户ID
+ * @return 菜单列表
+ */
+ @Override
+ public List<SysMenu> selectDeptMenuList(Long userId){
+ SysUser sysUser = sysUserService.selectUserById(userId);
+ Long deptId = sysUser.getDeptId();
+ List<SysMenu> menuList = menuMapper.selectDeptMenuList(deptId);
+ return menuList;
+ }
+
+ /**
+ * 根据用户查询系统菜单列表
+ *
+ * @param userId 用户ID
+ * @return 菜单列表
+ */
+ @Override
+ public List<SysMenu> selectStaffMenuList(Long userId){
+ return selectStaffMenuList(new SysMenu(), userId);
+ }
+
+ /**
+ * 根据用户查询系统菜单列表
+ *
+ * @param userId 用户ID
+ * @return 菜单列表
+ */
+ @Override
+ public List<SysMenu> selectStaffDeptMenuList(Long userId){
+ SysUser sysUser = sysUserService.selectUserById(userId);
+ Long deptId = sysUser.getDeptId();
+ return menuMapper.selectStaffDeptMenuList(deptId);
+ }
/**
* 查询系统菜单列表
*
@@ -74,7 +112,36 @@
else
{
menu.getParams().put("userId", userId);
- menuList = menuMapper.selectMenuListByUserId(menu);
+ SysUser sysUser = sysUserService.selectUserById(userId);
+ if(sysUser.getUserName().equals("admin")||sysUser.getUserName().equals("hongruitang")){
+ menuList = menuMapper.selectMenuListByUserId(menu);
+ }else{
+ menuList = menuMapper.selectMenuListByStaffUserId(menu);
+ }
+
+ }
+ return menuList;
+ }
+
+ /**
+ * 根据用户查询系统菜单列表
+ *
+ * @param menu 菜单信息
+ * @param userId 用户ID
+ * @return 菜单列表
+ */
+ @Override
+ public List<SysMenu> selectStaffMenuList(SysMenu menu, Long userId){
+ List<SysMenu> menuList = null;
+ // 管理员显示所有菜单信息
+ if (SysUser.isAdmin(userId))
+ {
+ menuList = menuMapper.selectStaffMenuList(menu);
+ }
+ else
+ {
+ menu.getParams().put("userId", userId);
+ menuList = menuMapper.selectStaffMenuListByUserId(menu);
}
return menuList;
}
@@ -88,7 +155,13 @@
@Override
public Set<String> selectMenuPermsByUserId(Long userId)
{
- List<String> perms = menuMapper.selectMenuPermsByUserId(userId);
+ SysUser sysUser = sysUserService.selectUserById(userId);
+ List<String> perms = null;
+ if(sysUser.getUserName().equals("admin")||sysUser.getUserName().equals("hongruitang")){
+ perms = menuMapper.selectMenuPermsByUserId(userId);
+ }else{
+ perms = menuMapper.selectMenuPermsByStaffUserId(userId);
+ }
Set<String> permsSet = new HashSet<>();
for (String perm : perms)
{
@@ -156,6 +229,54 @@
}
/**
+ * @description selectMenuListByDeptId
+ * @param deptId
+ * @return List<SysMenu>
+ * @author jqs34
+ * @date 2023/6/18 19:13
+ */
+ @Override
+ public List<Long> selectMenuListByDeptId(Long deptId){
+ return menuMapper.selectMenuListByDeptId(deptId, true);
+ }
+
+ /**
+ * @description selectMenuListByDeptId
+ * @param deptId
+ * @return List<SysMenu>
+ * @author jqs34
+ * @date 2023/6/18 19:13
+ */
+ @Override
+ public List<Long> selectStaffMenuListByDeptId(Long deptId){
+ return menuMapper.selectStaffMenuListByDeptId(deptId, true);
+ }
+
+ /**
+ * @description selectMenuListByDeptId
+ * @param deptUserId
+ * @return List<SysMenu>
+ * @author jqs34
+ * @date 2023/6/18 19:13
+ */
+ @Override
+ public List<Long> selectMenuListByDeptUserId(Long deptUserId){
+ return menuMapper.selectMenuListByDeptUserId(deptUserId, true);
+ }
+
+ /**
+ * @description selectMenuListByDeptId
+ * @param deptUserId
+ * @return List<SysMenu>
+ * @author jqs34
+ * @date 2023/6/18 19:13
+ */
+ @Override
+ public List<Long> selectStaffMenuListByDeptUserId(Long deptUserId){
+ return menuMapper.selectStaffMenuListByDeptUserId(deptUserId, true);
+ }
+
+ /**
* 构建前端路由所需要的菜单
*
* @param menus 菜单列表
--
Gitblit v1.7.1