From cb4e9a20066bec25c81fe65029a7ee743d28a8e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Thu, 29 May 2025 16:19:00 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E4=BF=AE=E5=A4=8D=20PermissionService=20?= =?UTF-8?q?=E6=97=A0=E5=AE=9E=E7=8E=B0=E7=B1=BB=E6=97=A0=E6=B3=95=E5=90=AF?= =?UTF-8?q?=E5=8A=A8=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/service/SaPermissionImpl.java | 33 ++++++++++++++----- ruoyi-gateway/pom.xml | 5 --- ruoyi-modules/ruoyi-job/pom.xml | 5 --- 3 files changed, 25 insertions(+), 18 deletions(-) diff --git a/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/core/service/SaPermissionImpl.java b/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/core/service/SaPermissionImpl.java index a003a926c..e6b0404f8 100644 --- a/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/core/service/SaPermissionImpl.java +++ b/ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/core/service/SaPermissionImpl.java @@ -3,11 +3,12 @@ package org.dromara.common.satoken.core.service; import cn.dev33.satoken.stp.StpInterface; import cn.hutool.core.util.ObjectUtil; import org.dromara.common.core.enums.UserType; +import org.dromara.common.core.exception.ServiceException; import org.dromara.common.core.service.PermissionService; +import org.dromara.common.core.utils.SpringUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.system.api.model.LoginUser; -import org.springframework.beans.factory.annotation.Autowired; import java.util.ArrayList; import java.util.List; @@ -19,9 +20,6 @@ import java.util.List; */ public class SaPermissionImpl implements StpInterface { - @Autowired - private PermissionService permissionService; - /** * 获取菜单权限列表 */ @@ -29,8 +27,13 @@ public class SaPermissionImpl implements StpInterface { public List getPermissionList(Object loginId, String loginType) { LoginUser loginUser = LoginHelper.getLoginUser(); if (ObjectUtil.isNull(loginUser) || !loginUser.getLoginId().equals(loginId)) { - List list = StringUtils.splitList(loginId.toString(), ":"); - return new ArrayList<>(permissionService.getMenuPermission(Long.parseLong(list.get(1)))); + PermissionService permissionService = getPermissionService(); + if (ObjectUtil.isNotNull(permissionService)) { + List list = StringUtils.splitList(loginId.toString(), ":"); + return new ArrayList<>(permissionService.getMenuPermission(Long.parseLong(list.get(1)))); + } else { + throw new ServiceException("PermissionService 实现类不存在"); + } } UserType userType = UserType.getUserType(loginUser.getUserType()); if (userType == UserType.APP_USER) { @@ -47,8 +50,13 @@ public class SaPermissionImpl implements StpInterface { public List getRoleList(Object loginId, String loginType) { LoginUser loginUser = LoginHelper.getLoginUser(); if (ObjectUtil.isNull(loginUser) || !loginUser.getLoginId().equals(loginId)) { - List list = StringUtils.splitList(loginId.toString(), ":"); - return new ArrayList<>(permissionService.getRolePermission(Long.parseLong(list.get(1)))); + PermissionService permissionService = getPermissionService(); + if (ObjectUtil.isNotNull(permissionService)) { + List list = StringUtils.splitList(loginId.toString(), ":"); + return new ArrayList<>(permissionService.getRolePermission(Long.parseLong(list.get(1)))); + } else { + throw new ServiceException("PermissionService 实现类不存在"); + } } UserType userType = UserType.getUserType(loginUser.getUserType()); if (userType == UserType.APP_USER) { @@ -57,4 +65,13 @@ public class SaPermissionImpl implements StpInterface { // SYS_USER 默认返回权限 return new ArrayList<>(loginUser.getRolePermission()); } + + private PermissionService getPermissionService() { + try { + return SpringUtils.getBean(PermissionService.class); + } catch (Exception e) { + return null; + } + } + } diff --git a/ruoyi-gateway/pom.xml b/ruoyi-gateway/pom.xml index 113330e8b..0f287d857 100644 --- a/ruoyi-gateway/pom.xml +++ b/ruoyi-gateway/pom.xml @@ -88,11 +88,6 @@ ruoyi-common-tenant - - org.dromara - ruoyi-common-service-impl - - diff --git a/ruoyi-modules/ruoyi-job/pom.xml b/ruoyi-modules/ruoyi-job/pom.xml index fd79de0b2..ab2e869e9 100644 --- a/ruoyi-modules/ruoyi-job/pom.xml +++ b/ruoyi-modules/ruoyi-job/pom.xml @@ -64,11 +64,6 @@ ruoyi-common-security - - org.dromara - ruoyi-common-service-impl - - org.dromara