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 | 26 ++++++++++++++++++++++---- 1 files changed, 22 insertions(+), 4 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 a065e37..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 java.util.stream.Collectors; /** * 用户权限处理 @@ -18,13 +25,15 @@ * @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; /** * 获取角色数据权限 @@ -42,7 +51,7 @@ } else { - roles.addAll(roleService.selectRolePermissionByUserId(user.getUserId())); + roles.addAll(roleService.selectRolePermissionByUserId(user)); } return roles; } @@ -56,10 +65,14 @@ 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 { @@ -76,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