From c020f31a67fc5aa5644511bddff075f7ecc85234 Mon Sep 17 00:00:00 2001 From: qinchulong <qinchulong@hnkhzn.com> Date: 星期二, 27 五月 2025 15:35:27 +0800 Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/HuaYiZhongHeng/ZhongHeLiTiKu --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_RoleService.cs | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 44 insertions(+), 0 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_RoleService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_RoleService.cs" index 3372776..030a5ea 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_RoleService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_SystemService/Sys_RoleService.cs" @@ -122,6 +122,50 @@ }); return WebResponseContent.Instance.OK(null, data); } + public WebResponseContent GetCurrentTreePermissionPDA() + { + WebResponseContent content = GetCurrentUserTreePermissionPDA(); + int roleId = App.User.RoleId; + return WebResponseContent.Instance.OK(null, new + { + tree = content.Data, + roles = GetAllChildren(roleId) + }); + } + + /// <summary> + /// 缂栬緫鏉冮檺鏃讹紝鑾峰彇褰撳墠鐢ㄦ埛鐨勬墍鏈夎彍鍗曟潈闄� + /// </summary> + /// <returns></returns> + public WebResponseContent GetCurrentUserTreePermissionPDA() + { + return GetUserTreePermissionPDA(App.User.RoleId); + } + public WebResponseContent GetUserTreePermissionPDA(int roleId) + { + if (!App.User.IsRoleIdSuperAdmin(roleId) && App.User.RoleId != roleId) + { + if (!(GetAllChildren(App.User.RoleId)).Exists(x => x.Id == roleId)) + { + return WebResponseContent.Instance.Error("娌℃湁鏉冮檺鑾峰彇姝よ鑹茬殑鏉冮檺淇℃伅"); + } + } + //鑾峰彇鐢ㄦ埛鏉冮檺 + List<Permissions> permissions = _MenuRepository.GetPermissions(roleId); + //鏉冮檺鐢ㄦ埛鏉冮檺鏌ヨ鎵�鏈夌殑鑿滃崟淇℃伅 + List<MenuDTO> menus = _MenuService.GetUserMenuListPDA(roleId); + + //鑾峰彇褰撳墠鐢ㄦ埛鏉冮檺濡�:(Add,Search)瀵瑰簲鐨勬樉绀烘枃鏈俊鎭:Add锛氭坊鍔狅紝Search:鏌ヨ + var data = menus.Where(x => x.MenuType==1).Select(x => new + { + Id = x.MenuId, + Pid = x.ParentId, + Text = x.MenuName, + IsApp = x.MenuType == 1, + Actions = _MenuService.GetActions(x.MenuId, x.Actions, permissions, roleId) + }); + return WebResponseContent.Instance.OK(null, data); + } /// <summary> /// 淇濆瓨瑙掕壊鏉冮檺 -- Gitblit v1.9.3