From 663489b2ce63ee84851dfbc2db32814e40ae9a89 Mon Sep 17 00:00:00 2001
From: dengjunjie <dengjunjie@hnkhzn.com>
Date: 星期五, 25 十月 2024 23:15:10 +0800
Subject: [PATCH] 优化WCS用户管理功能

---
 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_RoleService.cs |   43 +++++++++++++++++++++++++++++++++++++++----
 1 files changed, 39 insertions(+), 4 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_RoleService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_RoleService.cs"
index c75161f..a3f689d 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_RoleService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_RoleService.cs"
@@ -9,6 +9,7 @@
 using WIDESEAWCS_Core;
 using WIDESEAWCS_Core.BaseRepository;
 using WIDESEAWCS_Core.BaseServices;
+using WIDESEAWCS_Core.Helper;
 using WIDESEAWCS_Core.HttpContextUser;
 using WIDESEAWCS_ISystemRepository;
 using WIDESEAWCS_ISystemServices;
@@ -42,7 +43,7 @@
             return list;
         }
 
-        public  List<RoleNodes> GetAllRoleId()
+        public List<RoleNodes> GetAllRoleId()
         {
             List<RoleNodes> roles = BaseDal.QueryData().Select(s => new RoleNodes() { Id = s.RoleId, ParentId = s.ParentId, RoleName = s.RoleName }).ToList();
 
@@ -89,7 +90,41 @@
         {
             return GetUserTreePermission(App.User.RoleId);
         }
+        public override WebResponseContent UpdateData(SaveModel saveModel)
+        {
+            var ParentId = saveModel.MainData[nameof(Sys_Role.ParentId).FirstLetterToLower()].ObjToInt();//鐖剁骇ID
+            var RoleId = saveModel.MainData[nameof(Sys_Role.RoleId).FirstLetterToLower()].ObjToInt();//瑙掕壊ID
+            if (RoleId == ParentId) return WebResponseContent.Instance.Error("鏃犳搷浣滄潈闄�");
+            if (App.User.RoleId == RoleId) return WebResponseContent.Instance.Error("鏃犳搷浣滄潈闄�");
+            return base.UpdateData(saveModel);
+        }
+        public override PageGridData<Sys_Role> GetPageData(PageDataOptions options)
+        {
+            PageGridData<Sys_Role> pageGridData = new PageGridData<Sys_Role>();
+            if (App.User.IsSuperAdmin)
+            {
+                var GridData = base.GetPageData(options);
+                pageGridData = new PageGridData<Sys_Role>()
+                {
+                    Rows = options.Order?.ToLower() == OrderByType.Asc.ToString().ToLower() ? GridData.Rows.OrderBy(x => x.RoleId).ToList() : GridData.Rows,
+                    Total = GridData.Total
+                };
+                return pageGridData;
+            }
 
+            var roleIds = GetAllChildren(App.User.RoleId).Select(x => x.Id);
+            //鏍戝舰鑿滃崟浼犳煡璇㈣鑹蹭笅鎵�鏈夌敤鎴�
+            string where = ValidatePageOptions(options);
+
+            int total = 0;
+            pageGridData = new PageGridData<Sys_Role>()
+            {
+                Rows = BaseDal.Db.Queryable<Sys_Role>().Where(x => roleIds.Contains(x.RoleId)).Where(where).OrderBy(x => x.RoleId).ToPageList(options.Page, options.Rows),
+                Total = total
+            };
+
+            return pageGridData;
+        }
         /// <summary>
         /// 缂栬緫鏉冮檺鏃讹紝鑾峰彇鎸囧畾瑙掕壊鐨勬墍鏈夎彍鍗曟潈闄�
         /// </summary>
@@ -107,7 +142,7 @@
             //鑾峰彇鐢ㄦ埛鏉冮檺
             List<Permissions> permissions = _MenuRepository.GetPermissions(roleId);
             //鏉冮檺鐢ㄦ埛鏉冮檺鏌ヨ鎵�鏈夌殑鑿滃崟淇℃伅
-            List<Sys_Menu> menus =  _MenuService.GetUserMenuList(roleId);
+            List<Sys_Menu> menus = _MenuService.GetUserMenuList(roleId);
             //鑾峰彇褰撳墠鐢ㄦ埛鏉冮檺濡�:(Add,Search)瀵瑰簲鐨勬樉绀烘枃鏈俊鎭:Add锛氭坊鍔狅紝Search:鏌ヨ
             var data = menus.Select(x => new
             {
@@ -192,11 +227,11 @@
                     x.AuthValue = "";
                 });
                 //灏嗗彇娑堢殑鏉冮檺璁剧疆涓�""
-                _RoleAuthRepository.UpdateData(delAuths);
+                _RoleAuthRepository.DeleteData(delAuths);
 
                 int addCount = updateAuths.Where(x => x.AuthId <= 0).Count();
                 int updateCount = updateAuths.Where(x => x.AuthId > 0).Count();
-                
+
                 string _version = DateTime.Now.ToString("yyyyMMddHHMMssfff");
 
 

--
Gitblit v1.9.3