From 0696e47724265dbe331fc53c08011172afeeeee1 Mon Sep 17 00:00:00 2001 From: fengshuonan <sn93@qq.com> Date: Tue, 18 Jul 2023 23:27:31 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=908.0=E3=80=91=E3=80=90sys=E3=80=91?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=BD=93=E5=89=8D=E7=94=A8=E6=88=B7=E7=9A=84?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E8=8C=83=E5=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../role/service/PermissionAssignService.java | 3 +- .../impl/PermissionAssignServiceImpl.java | 28 +++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/PermissionAssignService.java b/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/PermissionAssignService.java index 8384ac666..62047ccf9 100644 --- a/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/PermissionAssignService.java +++ b/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/PermissionAssignService.java @@ -1,5 +1,6 @@ package cn.stylefeng.roses.kernel.sys.modular.role.service; +import cn.stylefeng.roses.kernel.sys.api.UserDataScopeApi; import cn.stylefeng.roses.kernel.sys.modular.role.pojo.request.RoleBindPermissionRequest; import cn.stylefeng.roses.kernel.sys.modular.role.pojo.response.RoleBindPermissionResponse; @@ -11,7 +12,7 @@ import java.util.Set; * @author fengshuonan * @since 2023/6/13 16:13 */ -public interface PermissionAssignService { +public interface PermissionAssignService extends UserDataScopeApi { /** * 获取角色绑定的权限列表 diff --git a/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/impl/PermissionAssignServiceImpl.java b/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/impl/PermissionAssignServiceImpl.java index e400d5355..f2c5c6edd 100644 --- a/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/impl/PermissionAssignServiceImpl.java +++ b/kernel-s-system/system-business-permission/src/main/java/cn/stylefeng/roses/kernel/sys/modular/role/service/impl/PermissionAssignServiceImpl.java @@ -1,7 +1,10 @@ package cn.stylefeng.roses.kernel.sys.modular.role.service.impl; import cn.hutool.extra.spring.SpringUtil; +import cn.stylefeng.roses.kernel.auth.api.context.LoginContext; import cn.stylefeng.roses.kernel.event.sdk.publish.BusinessEventPublisher; +import cn.stylefeng.roses.kernel.sys.api.SysUserRoleServiceApi; +import cn.stylefeng.roses.kernel.sys.api.enums.permission.DataScopeTypeEnum; import cn.stylefeng.roses.kernel.sys.modular.app.entity.SysApp; import cn.stylefeng.roses.kernel.sys.modular.app.service.SysAppService; import cn.stylefeng.roses.kernel.sys.modular.menu.entity.SysMenu; @@ -19,6 +22,7 @@ import cn.stylefeng.roses.kernel.sys.modular.role.pojo.response.RoleBindPermissi import cn.stylefeng.roses.kernel.sys.modular.role.service.PermissionAssignService; import cn.stylefeng.roses.kernel.sys.modular.role.service.SysRoleMenuOptionsService; import cn.stylefeng.roses.kernel.sys.modular.role.service.SysRoleMenuService; +import cn.stylefeng.roses.kernel.sys.modular.role.service.SysRoleService; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import org.springframework.stereotype.Service; @@ -53,6 +57,12 @@ public class PermissionAssignServiceImpl implements PermissionAssignService { @Resource private SysRoleMenuService sysRoleMenuService; + @Resource + private SysUserRoleServiceApi sysUserRoleServiceApi; + + @Resource + private SysRoleService sysRoleService; + @Override public RoleBindPermissionResponse getRoleBindPermission(RoleBindPermissionRequest roleBindPermissionRequest) { @@ -140,4 +150,22 @@ public class PermissionAssignServiceImpl implements PermissionAssignService { return resultPermissions; } + @Override + public DataScopeTypeEnum currentUserDataScopeType() { + + // 获取当前用户id + Long userId = LoginContext.me().getLoginUser().getUserId(); + + // 获取用户的角色列表 + List<Long> userHaveRoleIds = sysUserRoleServiceApi.getUserRoleIdList(userId); + + // 获取这些角色对应的数据范围 + return sysRoleService.getRoleDataScope(userHaveRoleIds); + } + + @Override + public Set<Long> currentUserOrgScopeList() { + return null; + } + }