18339543638 2 лет назад
Родитель
Сommit
821a1d83a3

+ 2 - 0
tr-modules-api/tr-module-system-api/src/main/java/cn/tr/module/api/sys/user/SysUserApi.java

@@ -16,4 +16,6 @@ public interface SysUserApi {
      * @return
      */
     List<Pair<String,String >> selectAllUserIdAndNickName();
+
+    Collection<String> findUserPermission(String userId);
 }

+ 1 - 1
tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/oauth2/config/StdStpInterface.java

@@ -32,7 +32,7 @@ public class StdStpInterface implements StpInterface {
 
     @Override
     public List<String> getPermissionList(Object loginId, String loginType) {
-        return new ArrayList<>(currentUserService.currentUserPermission());
+        return new ArrayList<>(currentUserService.currentUserPermission(String.valueOf(loginId)));
     }
 
     @Override

+ 1 - 1
tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/oauth2/controller/CurrentUserController.java

@@ -49,7 +49,7 @@ public class CurrentUserController {
     @ApiOperation( "获取登录用户的权限信息")
     public CommonResult<Collection<String>> getPermissionInfo() {
         SaTokenUtils.getStpUtil().checkLogin();
-        return CommonResult.success(currentUserService.currentUserPermission());
+        return CommonResult.success(currentUserService.currentUserPermission(String.valueOf(SaTokenUtils.getStpUtil().getLoginId())));
     }
 
     @GetMapping("/listMenus-{portalId}")

+ 2 - 2
tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/oauth2/service/CurrentUserService.java

@@ -40,12 +40,12 @@ public class CurrentUserService {
      * 获取当前用户权限
      * @return
      */
-    public Collection<String> currentUserPermission(){
+    public Collection<String> currentUserPermission(String userId){
         //用户所在租户拥有的权限
         Set<String> tenantPermissions = tenantService.findTenantPermission();
         ;
         //用户角色所拥有的权限
-        Set<String> rolePermissions = menuService.findUserPermission(String.valueOf(SaTokenUtils.getStpUtil().getLoginId()));
+        Set<String> rolePermissions = menuService.findUserPermission(userId);
 
         return CollectionUtil.intersection(tenantPermissions,rolePermissions);
     };

+ 8 - 1
tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/user/provider/SysUserNickNameProvider.java

@@ -3,11 +3,13 @@ package cn.tr.module.sys.user.provider;
 import cn.hutool.core.lang.Pair;
 import cn.tr.core.utils.UserUtil;
 import cn.tr.module.api.sys.user.SysUserApi;
+import cn.tr.module.sys.oauth2.service.CurrentUserService;
 import cn.tr.module.sys.user.service.ISysUserService;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.PostConstruct;
+import java.util.Collection;
 import java.util.List;
 
 /**
@@ -20,7 +22,7 @@ import java.util.List;
 @AllArgsConstructor
 public class SysUserNickNameProvider implements SysUserApi {
     private final ISysUserService userService;
-
+    private final CurrentUserService currentUserService;
 
     @PostConstruct
     public void init(){
@@ -31,4 +33,9 @@ public class SysUserNickNameProvider implements SysUserApi {
     public List<Pair<String, String>> selectAllUserIdAndNickName() {
         return userService.selectAllUserIdAndNickName();
     }
+
+    @Override
+    public Collection<String> findUserPermission(String userId) {
+        return currentUserService.currentUserPermission(userId);
+    }
 }