From 624cbc9d730f1596c27b505190eb42048d8ba8ff Mon Sep 17 00:00:00 2001
From: zhanglin8526 <852614290@qq.com>
Date: 星期六, 26 八月 2023 17:34:52 +0800
Subject: [PATCH] 分账
---
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysMenuServiceImpl.java | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 112 insertions(+), 7 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 71abcfe..1e02d68 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
@@ -14,9 +14,10 @@
import com.ruoyi.system.mapper.sys.SysRoleMapper;
import com.ruoyi.system.mapper.sys.SysRoleMenuMapper;
import com.ruoyi.system.service.sys.ISysMenuService;
-import org.springframework.beans.factory.annotation.Autowired;
+import com.ruoyi.system.service.sys.ISysUserService;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
@@ -30,14 +31,19 @@
{
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;
+
+
/**
* 根据用户查询系统菜单列表
@@ -51,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);
+ }
/**
* 查询系统菜单列表
*
@@ -69,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;
}
@@ -83,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)
{
@@ -130,9 +208,11 @@
{
menus = menuMapper.selectMenuTreeAll();
}
- else
+ else if(userId.equals(1L)||userId.equals(2L))
{
menus = menuMapper.selectMenuTreeByUserId(userId);
+ }else{
+ menus = menuMapper.selectStaffMenuTreeByUserId(userId);
}
return getChildPerms(menus, 0);
}
@@ -164,16 +244,41 @@
/**
* @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