Skip to content

Commit d22b2a1

Browse files
committed
update 优化 PermissionService 无实现类也可以启动服务
1 parent 957a4d1 commit d22b2a1

File tree

1 file changed

+25
-8
lines changed
  • ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/core/service

1 file changed

+25
-8
lines changed

ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/core/service/SaPermissionImpl.java

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@
44
import cn.hutool.core.util.ObjectUtil;
55
import org.dromara.common.core.domain.model.LoginUser;
66
import org.dromara.common.core.enums.UserType;
7+
import org.dromara.common.core.exception.ServiceException;
78
import org.dromara.common.core.service.PermissionService;
9+
import org.dromara.common.core.utils.SpringUtils;
810
import org.dromara.common.core.utils.StringUtils;
911
import org.dromara.common.satoken.utils.LoginHelper;
10-
import org.springframework.beans.factory.annotation.Autowired;
1112

1213
import java.util.ArrayList;
1314
import java.util.List;
@@ -19,18 +20,20 @@
1920
*/
2021
public class SaPermissionImpl implements StpInterface {
2122

22-
@Autowired
23-
private PermissionService permissionService;
24-
2523
/**
2624
* 获取菜单权限列表
2725
*/
2826
@Override
2927
public List<String> getPermissionList(Object loginId, String loginType) {
3028
LoginUser loginUser = LoginHelper.getLoginUser();
3129
if (ObjectUtil.isNull(loginUser) || !loginUser.getLoginId().equals(loginId)) {
32-
List<String> list = StringUtils.splitList(loginId.toString(), ":");
33-
return new ArrayList<>(permissionService.getMenuPermission(Long.parseLong(list.get(1))));
30+
PermissionService permissionService = getPermissionService();
31+
if (ObjectUtil.isNotNull(permissionService)) {
32+
List<String> list = StringUtils.splitList(loginId.toString(), ":");
33+
return new ArrayList<>(permissionService.getMenuPermission(Long.parseLong(list.get(1))));
34+
} else {
35+
throw new ServiceException("PermissionService 实现类不存在");
36+
}
3437
}
3538
UserType userType = UserType.getUserType(loginUser.getUserType());
3639
if (userType == UserType.APP_USER) {
@@ -47,8 +50,13 @@ public List<String> getPermissionList(Object loginId, String loginType) {
4750
public List<String> getRoleList(Object loginId, String loginType) {
4851
LoginUser loginUser = LoginHelper.getLoginUser();
4952
if (ObjectUtil.isNull(loginUser) || !loginUser.getLoginId().equals(loginId)) {
50-
List<String> list = StringUtils.splitList(loginId.toString(), ":");
51-
return new ArrayList<>(permissionService.getRolePermission(Long.parseLong(list.get(1))));
53+
PermissionService permissionService = getPermissionService();
54+
if (ObjectUtil.isNotNull(permissionService)) {
55+
List<String> list = StringUtils.splitList(loginId.toString(), ":");
56+
return new ArrayList<>(permissionService.getRolePermission(Long.parseLong(list.get(1))));
57+
} else {
58+
throw new ServiceException("PermissionService 实现类不存在");
59+
}
5260
}
5361
UserType userType = UserType.getUserType(loginUser.getUserType());
5462
if (userType == UserType.APP_USER) {
@@ -57,4 +65,13 @@ public List<String> getRoleList(Object loginId, String loginType) {
5765
// SYS_USER 默认返回权限
5866
return new ArrayList<>(loginUser.getRolePermission());
5967
}
68+
69+
private PermissionService getPermissionService() {
70+
try {
71+
return SpringUtils.getBean(PermissionService.class);
72+
} catch (Exception e) {
73+
return null;
74+
}
75+
}
76+
6077
}

0 commit comments

Comments
 (0)