From a05b419384e148fc950c77553816a2d05144f4ae Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期四, 19 六月 2025 19:36:22 +0800 Subject: [PATCH] 修改生产环境配置 --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPermissionServiceImpl.java | 131 +++++++++++++++++-------------------------- 1 files changed, 51 insertions(+), 80 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPermissionServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPermissionServiceImpl.java index 0a926ba..f424d82 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPermissionServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPermissionServiceImpl.java @@ -1,11 +1,7 @@ package com.ruoyi.system.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.ruoyi.system.api.domain.SysRole; import com.ruoyi.system.api.domain.SysUser; -import com.ruoyi.system.api.model.UserShop; -import com.ruoyi.system.domain.SysMenu; import com.ruoyi.system.service.ISysMenuService; import com.ruoyi.system.service.ISysPermissionService; import com.ruoyi.system.service.ISysRoleService; @@ -13,90 +9,65 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import javax.annotation.Resource; import java.util.HashSet; import java.util.List; import java.util.Set; -import java.util.stream.Collectors; /** * 用户权限处理 - * + * * @author ruoyi */ @Service public class SysPermissionServiceImpl implements ISysPermissionService { - @Autowired - private ISysRoleService roleService; - - @Autowired - private ISysMenuService menuService; - - @Autowired - private UserShopService userShopService; - - /** - * 获取角色数据权限 - * - * @return 角色权限信息 - */ - @Override - public Set<String> getRolePermission(SysUser user) - { - Set<String> roles = new HashSet<String>(); - // 管理员拥有所有权限 - if (user.isAdmin()) - { - roles.add("admin"); - } - else - { - roles.addAll(roleService.selectRolePermissionByUserId(user)); - } - return roles; - } - - /** - * 获取菜单数据权限 - * - * @return 菜单权限信息 - */ - @Override - public Set<String> getMenuPermission(SysUser user) - { - Set<String> perms = new HashSet<String>(); - List<UserShop> userShop = userShopService.getUserShop(user.getUserId(), 1); - // 管理员拥有所有权限 - if (user.isAdmin()) - { - perms.add("*:*:*"); - }else if(user.getRoleType() == 2 && null != userShop && userShop.size() > 0){ - List<SysMenu> list = menuService.getAllMenu(2); - return list.stream().map(SysMenu::getPath).collect(Collectors.toSet()); - } - else - { - List<SysRole> roles = user.getRoles(); - if (!roles.isEmpty() && roles.size() > 1) - { - // 多角色设置permissions属性,以便数据权限匹配权限 - for (SysRole role : roles) - { - Set<String> rolePerms = menuService.selectMenuPermsByRoleId(role.getRoleId()); - role.setPermissions(rolePerms); - perms.addAll(rolePerms); - } - } - else - { - if(user.getRoleType() == 1){ - perms.addAll(menuService.selectMenuPermsByUserId(user.getUserId())); - }else{ - UserShop one = userShopService.getOne(new LambdaQueryWrapper<UserShop>().eq(UserShop::getUserId, user.getUserId()).eq(UserShop::getShopId, user.getObjectId())); - perms.addAll(menuService.selectMenuPermsByRoleId(one.getRoleId())); - } - } - } - return perms; - } + @Autowired + private ISysRoleService roleService; + + @Autowired + private ISysMenuService menuService; + + @Autowired + private UserShopService userShopService; + + /** + * 获取角色数据权限 + * + * @return 角色权限信息 + */ + @Override + public Set<String> getRolePermission(SysUser user) { + Set<String> roles = new HashSet<String>(); + // 管理员拥有所有权限 + if (user.isAdmin()) { + roles.add("admin"); + } else { + roles.addAll(roleService.selectRolePermissionByUserId(user)); + } + return roles; + } + + /** + * 获取菜单数据权限 + * + * @return 菜单权限信息 + */ + @Override + public Set<String> getMenuPermission(SysUser user) { + Set<String> perms = new HashSet<String>(); + // 管理员拥有所有权限 + if (user.isAdmin()) { + perms.add("*:*:*"); + } else { + List<SysRole> roles = user.getRoles(); + if (!roles.isEmpty() && roles.size() > 1) { + // 多角色设置permissions属性,以便数据权限匹配权限 + for (SysRole role : roles) { + Set<String> rolePerms = menuService.selectMenuPermsByRoleId(role.getRoleId()); + role.setPermissions(rolePerms); + perms.addAll(rolePerms); + } + } + } + return perms; + } } -- Gitblit v1.7.1