From 563ce4cedd764d3e53e9384197fc14e618d776d5 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期五, 14 三月 2025 17:44:23 +0800
Subject: [PATCH] 美型

---
 项目代码/WIDESEAWCS_Server 正式/WIDESEAWCS_SystemServices/Sys_UserService.cs |   61 +++++++++++++++++++++++++++++-
 1 files changed, 58 insertions(+), 3 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_SystemServices/Sys_UserService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_SystemServices/Sys_UserService.cs"
index bfa5d7a..8871a36 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_SystemServices/Sys_UserService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEAWCS_Server \346\255\243\345\274\217/WIDESEAWCS_SystemServices/Sys_UserService.cs"
@@ -22,8 +22,10 @@
         private readonly ISys_MenuService _menuService;
         private readonly ISys_RoleRepository _RoleRepository;
         private readonly ILoginHistoryRepository _loginHistoryRepository;
+        private readonly IPutakeRepository _putakeRepository;
+
         public Sys_UserService(ISys_UserRepository repository, IUnitOfWorkManage unitOfWorkManage,
-            ICacheService cacheService, ISys_MenuService menuService , ISys_RoleRepository roleRepository, ILoginHistoryRepository loginHistoryRepository) : base(repository)
+            ICacheService cacheService, ISys_MenuService menuService , ISys_RoleRepository roleRepository, ILoginHistoryRepository loginHistoryRepository, IPutakeRepository putakeRepository) : base(repository)
         {
             _unitOfWorkManage = unitOfWorkManage;
             _cacheService = cacheService;
@@ -31,7 +33,7 @@
             _RoleRepository = roleRepository;
             _RoleRepository= roleRepository;
             _loginHistoryRepository = loginHistoryRepository;
-
+            _putakeRepository = putakeRepository;
         }
 
         public WebResponseContent Login(LoginInfo loginInfo)
@@ -93,7 +95,7 @@
                     _cacheService.AddOrUpdate(user.UserId.ToString(), token);
                     _loginHistoryRepository.AddData(loghis);
 
-                    content = WebResponseContent.Instance.OK(data: new { token, userName = user.UserTrueName, img = user.HeadImageUrl });
+                    content = WebResponseContent.Instance.OK(data: new { token, userName = user.UserTrueName, img = user.HeadImageUrl,ID=user.UserId });
                 }
                 else
                 {
@@ -237,5 +239,58 @@
                 return new WebResponseContent { Status = false, Message="澶辫触"+ex };
             }
         }
+
+
+        public WebResponseContent PermissionView(int userId, string group)
+        {
+            try
+            {
+                // 1. 鑾峰彇鐢ㄦ埛淇℃伅
+                var user = BaseDal.QueryData(x => x.User_Id == userId).FirstOrDefault();
+                var allTasks = _putakeRepository.QueryData();
+
+                if (user == null)
+                {
+                    return new WebResponseContent { Status = false, Message = "鐢ㄦ埛涓嶅瓨鍦�" };
+                }
+
+                string roleName = user.RoleName;
+
+                // 2. 鍒ゆ柇鏄惁鏄秴绾х鐞嗗憳
+                if (roleName.Contains("瓒呯骇绠$悊鍛�"))
+                {
+                    // 瓒呯骇绠$悊鍛樹粛鐒惰绛涢�夋寚瀹� group
+                    var adminTasks = allTasks.Where(x => x.Grouptype == group).ToList();
+                    return new WebResponseContent { Status = true, Data = adminTasks, Message = "鑾峰彇鎴愬姛" };
+                }
+
+                // 3. 纭畾鏅�氱敤鎴疯鑹插尮閰嶇殑浠诲姟绫诲瀷
+                List<string> allowedGroups = new List<string>();
+
+                if (roleName.Contains("鍦版矡")) allowedGroups.Add("鍦版矡");//濡傛灉娣诲姞杩涙暟缁勪腑
+                if (roleName.Contains("鐢垫皵")) allowedGroups.Add("鐢垫皵");
+                if (roleName.Contains("鏈烘")) allowedGroups.Add("鏈烘");
+
+                if (allowedGroups.Count == 0)
+                {
+                    return new WebResponseContent { Status = false, Message = "鎮ㄦ棤鏉冮檺鏌ョ湅浠诲姟" };
+                }
+
+                // 4. 鏅�氱敤鎴峰彧鑳界湅鑷繁鏉冮檺鑼冨洿鍐呯殑浠诲姟
+                if (!allowedGroups.Contains(group))
+                {
+                    return new WebResponseContent { Status = false, Message = "鎮ㄦ棤鏉冮檺鏌ョ湅璇ヤ换鍔$被鍒�" };
+                }
+
+                var tasks = allTasks.Where(t => t.Grouptype == group).ToList();
+
+                return new WebResponseContent { Status = true, Data = tasks, Message = "鑾峰彇鎴愬姛" };
+            }
+            catch (Exception ex)
+            {
+                return new WebResponseContent { Status = false, Message = "閿欒: " + ex.Message };
+            }
+        }
+
     }
 }

--
Gitblit v1.9.3