From 046d7ac5bbef4cbb6c6b64f3589e2722d13a07a5 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期二, 27 六月 2023 11:00:01 +0800 Subject: [PATCH] 日志管理 --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/sys/SysMenuServiceImpl.java | 115 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 109 insertions(+), 6 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..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 @@ -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) { @@ -164,16 +242,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