From 9c7ddd3a1126bdd057300bc9c79e1a83f591212c Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期六, 04 一月 2025 13:53:41 +0800 Subject: [PATCH] 修改管理后台权限bug --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java | 30 +++++++++++++++++++++++++----- 1 files changed, 25 insertions(+), 5 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java index 9d8129a..6182a9f 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.system.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.constant.UserConstants; import com.ruoyi.common.core.exception.ServiceException; @@ -9,6 +10,7 @@ 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.model.UserShop; import com.ruoyi.system.domain.SysRoleDept; import com.ruoyi.system.domain.SysRoleMenu; import com.ruoyi.system.domain.SysUserRole; @@ -17,10 +19,12 @@ import com.ruoyi.system.mapper.SysRoleMenuMapper; import com.ruoyi.system.mapper.SysUserRoleMapper; 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 org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.*; /** @@ -41,6 +45,12 @@ @Autowired private SysRoleDeptMapper roleDeptMapper; + + @Resource + private UserShopService userShopService; + + + /** * 根据条件分页查询角色数据 @@ -82,12 +92,22 @@ * @return 权限列表 */ @Override - public Set<String> selectRolePermissionByUserId(Long userId) { - List<SysRole> perms = roleMapper.selectRolePermissionByUserId(userId); + public Set<String> selectRolePermissionByUserId(SysUser user) { Set<String> permsSet = new HashSet<>(); - for (SysRole perm : perms) { - if (StringUtils.isNotNull(perm)) { - permsSet.addAll(Arrays.asList(perm.getRoleKey().trim().split(","))); + if(user.getRoleType() == 1){ + List<SysRole> perms = roleMapper.selectRolePermissionByUserId(user.getUserId()); + for (SysRole perm : perms) { + if (StringUtils.isNotNull(perm)) { + permsSet.addAll(Arrays.asList(perm.getRoleKey().trim().split(","))); + } + } + }else{ + List<UserShop> list = userShopService.list(new LambdaQueryWrapper<UserShop>().eq(UserShop::getUserId, user.getUserId()) + .eq(UserShop::getShopId, user.getObjectId())); + for (UserShop userShop : list) { + if (StringUtils.isNotNull(userShop)) { + permsSet.add(userShop.getRoleId() + ""); + } } } return permsSet; -- Gitblit v1.7.1