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 | 161 +++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 142 insertions(+), 19 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..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
@@ -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)
{
@@ -135,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);
}
@@ -156,6 +231,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