From 1ae162ebf79ffaab79ae2004e5bd5d52382c2ba9 Mon Sep 17 00:00:00 2001 From: jiangjiazhi Date: Thu, 12 Jan 2017 10:35:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E5=A8=A9=E4=BD=9C=E5=BA=9F=E4=BA=A7?= =?UTF-8?q?=E6=A3=80=E5=8A=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/PermissionsController.java | 41 ++++++++++++++-------- 1 file changed, 27 insertions(+), 14 deletions(-) diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PermissionsController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PermissionsController.java index 195c504..6f06c36 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PermissionsController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/PermissionsController.java @@ -6,6 +6,7 @@ import com.lyms.platform.common.base.BaseController; import com.lyms.platform.common.base.ContextHolder; import com.lyms.platform.common.base.LoginContext; import com.lyms.platform.common.enums.PermissionTypeEnums; +import com.lyms.platform.common.enums.UserTypeEnum; import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.exception.BusinessException; import com.lyms.platform.common.result.BaseResponse; @@ -44,6 +45,8 @@ public class PermissionsController extends BaseController { private UserRoleMapsService userRoleMapsService; @Autowired private AccessPermissionFacade accessPermissionFacade; + @Autowired + private RolesService rolesService; /** @@ -90,24 +93,34 @@ public class PermissionsController extends BaseController { if (null != loginContext) { users = usersService.getUsers(loginContext.getId()); } - - //获取用户角色信息 - UserRoleMapsQuery query = new UserRoleMapsQuery(); - query.setUserId(users.getId()); - query.setYn(YnEnums.YES.getId()); - List userRoleMapses = userRoleMapsService.queryUserRoleList(query); - List permissionIds = new ArrayList<>(); List permissions = new ArrayList<>(); - - List local = permissions2Service.queryPermissionByRoleIds(userRoleMapses); - if (CollectionUtils.isNotEmpty(local)) { - for (Permissions2 permissions1 : local) { - if (!permissionIds.contains(permissions1.getId())) { - permissionIds.add(permissions1.getId()); - permissions.add(permissions1); + //超级管理员拥有所有角色和权限 + if (users.getType().equals(UserTypeEnum.SUPPER_ADMIN.getId())) { + Permissions2Query permissionsQuery = new Permissions2Query(); + permissionsQuery.setYn(YnEnums.YES.getId()); + permissions = permissions2Service.queryPermissions2(permissionsQuery); + } + //其他用户 + else if (users.getType().equals(UserTypeEnum.PLATFORM_ADMIN.getId()) || users.getType().equals(UserTypeEnum.NORMAL_USER.getId())) { + //获取用户角色信息 + UserRoleMapsQuery query = new UserRoleMapsQuery(); + query.setUserId(users.getId()); + query.setYn(YnEnums.YES.getId()); + List userRoleMapses = userRoleMapsService.queryUserRoleList(query); + List permissionIds = new ArrayList<>(); + + + List local = permissions2Service.queryPermissionByRoleIds(userRoleMapses); + if (CollectionUtils.isNotEmpty(local)) { + for (Permissions2 permissions1 : local) { + if (!permissionIds.contains(permissions1.getId())) { + permissionIds.add(permissions1.getId()); + permissions.add(permissions1); + } } } } + ResultUtils.buildSuccessResultAndWrite(response, permissions); } -- 1.8.3.1