From 8b8305b82f23b672023d8a3d1d1d7030af3f110c Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 16 一月 2025 15:44:02 +0800 Subject: [PATCH] 修改bug --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysPermissionServiceImpl.java | 44 ++++++++++++++++++++++++++++++-------------- 1 files changed, 30 insertions(+), 14 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 8048c7b..0a926ba 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,16 +1,23 @@ 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; +import com.ruoyi.system.service.UserShopService; +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 com.ruoyi.system.service.ISysRoleService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import com.ruoyi.system.api.domain.SysRole; -import com.ruoyi.system.api.domain.SysUser; -import com.ruoyi.system.service.ISysMenuService; -import com.ruoyi.system.service.ISysPermissionService; +import java.util.stream.Collectors; /** * 用户权限处理 @@ -18,18 +25,19 @@ * @author ruoyi */ @Service -public class SysPermissionServiceImpl implements ISysPermissionService -{ +public class SysPermissionServiceImpl implements ISysPermissionService { @Autowired private ISysRoleService roleService; @Autowired private ISysMenuService menuService; + + @Autowired + private UserShopService userShopService; /** * 获取角色数据权限 * - * @param userId 用户Id * @return 角色权限信息 */ @Override @@ -43,7 +51,7 @@ } else { - roles.addAll(roleService.selectRolePermissionByUserId(user.getUserId())); + roles.addAll(roleService.selectRolePermissionByUserId(user)); } return roles; } @@ -51,17 +59,20 @@ /** * 获取菜单数据权限 * - * @param userId 用户Id * @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 { @@ -78,7 +89,12 @@ } else { - perms.addAll(menuService.selectMenuPermsByUserId(user.getUserId())); + 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; -- Gitblit v1.7.1