From 4b4cc0dd66d0bfb8220709f6a5edd5fc3b8a65c2 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期一, 02 六月 2025 13:58:47 +0800
Subject: [PATCH] 按需修改美心接口

---
 project/后台管理/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs |  138 ++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 133 insertions(+), 5 deletions(-)

diff --git "a/project/\345\220\216\345\217\260\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs" "b/project/\345\220\216\345\217\260\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs"
index d71c92c..2fa196a 100644
--- "a/project/\345\220\216\345\217\260\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs"
+++ "b/project/\345\220\216\345\217\260\347\256\241\347\220\206/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs"
@@ -15,6 +15,7 @@
 using Newtonsoft.Json;
 using WIDESEAWCS_Common;
 using FaceAI;
+using WIDESEAWCS_DTO.Telescopic;
 
 namespace WIDESEAWCS_SystemServices
 {
@@ -26,7 +27,9 @@
         private readonly IRepository<Dt_FaceRecognition> _faceServer;
         private readonly IRepository<Dt_Loginhsy> _LoginhsyServer;
         private readonly IRepository<Dt_Maintenance> _MainServer;
-        public Sys_UserService(IRepository<Dt_Loginhsy> LoginhsyServer,IRepository<Dt_FaceRecognition> faceServer, IRepository<Sys_User> repository, IUnitOfWorkManage unitOfWorkManage, ICacheService cacheService, ISys_MenuService menuService, IRepository<Dt_Maintenance> MainServer) : base(repository)
+        private readonly IRepository<Sys_Role> _RoleServer;
+        private readonly IRepository<Dt_AuthorizationRecord> _AuthorizatRecServer;
+        public Sys_UserService(IRepository<Dt_AuthorizationRecord> AuthorizatRecServer ,IRepository<Sys_Role> RoleServer,IRepository<Dt_Loginhsy> LoginhsyServer,IRepository<Dt_FaceRecognition> faceServer, IRepository<Sys_User> repository, IUnitOfWorkManage unitOfWorkManage, ICacheService cacheService, ISys_MenuService menuService, IRepository<Dt_Maintenance> MainServer) : base(repository)
         {
             _faceServer = faceServer;
             _LoginhsyServer = LoginhsyServer;
@@ -34,6 +37,8 @@
             _cacheService = cacheService;
             _menuService = menuService;
             _MainServer = MainServer;
+            _RoleServer = RoleServer;
+            _AuthorizatRecServer=AuthorizatRecServer;
         }
 
 
@@ -554,8 +559,9 @@
                     IsLeader = addUserDTO.IsLeader,
                     RoleName = addUserDTO.rolename,
                     Enable = addUserDTO.enable,
+                    Unit = addUserDTO.userunit,
                     UserPwd = "j79rYYvCz4vdhcboB1Ausg==",
-                    //Userteam = addUserDTO.userteam,
+                    Userteam = addUserDTO.userteam,
                     Dept_Id = addUserDTO.dept_Id,
                     //CardNumber=addUserDTO.carnuber,
                     CreateDate = DateTime.Now
@@ -619,9 +625,10 @@
                 sys.Role_Id = addUserDTO.roleid;
                 sys.RoleName = addUserDTO.rolename;
                 //sys.CardNumber = addUserDTO.carnuber;
-                //sys.Userteam = addUserDTO.userteam;
+                sys.Userteam = addUserDTO.userteam;
+                sys.Unit = addUserDTO.userunit;
                 sys.Dept_Id = addUserDTO.dept_Id;
-                sys.Enable = addUserDTO.enable;
+                //sys.Enable = addUserDTO.enable;
                 sys.IsLeader = addUserDTO.IsLeader;//鏇存柊鐢ㄦ埛琛ㄧ殑鏄惁鏄粍闀�
                 //濡傛灉浜鸿劯璇嗗埆娣诲姞浜嗚繖閲屽氨娉ㄩ噴鎺�
                 sys.HeadImageUrl = addUserDTO.path;
@@ -652,11 +659,37 @@
                 //}
 
                 // 8. 鏇存柊鏁版嵁搴�
-                BaseDal.UpdateData(sys);
+
                 //鏇存柊Dt_Maintenance琛ㄤ腑鐨勬暟鎹拰user琛ㄤ腑淇敼鐨勪竴鏍�
                 team.UserAccount = addUserDTO.username;//璐﹀彿
                 team.Roleid = addUserDTO.roleid;//鏇存柊鏉冮檺
                 team.IsLeader = addUserDTO.IsLeader;
+
+                var existAuthority = userList.FirstOrDefault(a => a.UserName == addUserDTO.username);
+                // 鍏堢紦瀛樻棫鐨� enable 鍊�
+                var oldEnable = sys.Enable;
+
+                // 淇敼 enable
+                sys.Enable = addUserDTO.enable;
+
+                // 鐒跺悗姣旇緝鏃у�煎拰鏂板��
+                if (oldEnable != addUserDTO.enable)
+                {
+                    var authority = new Dt_AuthorizationRecord
+                    {
+                        Account = addUserDTO.username,
+                        UserName = addUserDTO.usertruename,
+                        UerUnit = addUserDTO.userunit,
+                        UserTeam = addUserDTO.userteam,
+                        EnableTime = addUserDTO.enable == 1 ? DateTime.Now : (DateTime?)null, //鍚敤
+                        DisableTime = addUserDTO.enable == 0 ? DateTime.Now : (DateTime?)null,//涓嶅惎鐢�
+                    };
+
+                    _AuthorizatRecServer.AddData(authority);
+                }
+
+
+                BaseDal.UpdateData(sys);
                 _MainServer.UpdateData(team);
 
                 return new WebResponseContent { Status = true, Data = sys };
@@ -880,5 +913,100 @@
                 return new WebResponseContent { Status = false, Message="澶辫触"};
             }
         }
+
+
+
+        /// <summary>
+        /// 琛ㄨ繛鎺ヨ鑹茶〃锛屽睍绀烘暟鎹�
+        /// </summary>
+        /// <returns></returns>
+        public WebResponseContent YShowUserList(PaginationDTO pagination)
+        {
+            try
+            {
+                int totalCount = 0;
+                var Role = _RoleServer.Db.Queryable<Sys_Role>();
+                var query = Role.InnerJoin<Sys_User>((a, b) => a.RoleId == b.Role_Id);
+
+                //鎼滅储鍏抽敭瀛�
+                if (!string.IsNullOrEmpty(pagination.searchKeyword))
+                {
+                    query = query.Where((a, b) =>
+                    b.UserName.Contains(pagination.searchKeyword) ||
+                    b.UserTrueName.Contains(pagination.searchKeyword) ||
+                    b.PhoneNo.Contains(pagination.searchKeyword) ||
+                    a.RoleName.Contains(pagination.searchKeyword));
+                }
+                //鏃堕棿鏌ヨ
+                if (pagination.startDate.HasValue && pagination.endDate.HasValue)
+                {
+                    query = query.Where((a, b) => b.CreateDate >= pagination.startDate.Value && b.CreateDate <= pagination.endDate.Value);
+                }
+                //鎺掑簭
+                if (!string.IsNullOrEmpty(pagination.sortField))
+                {
+                    var isAcs = pagination.sortOrder?.ToLower() == "asc";
+                    query = pagination.sortField.ToLower() switch
+                    {
+
+
+                        "CreateDate" => isAcs ? query.OrderBy((a, b) => b.CreateDate) : query.OrderByDescending((a, b) => b.CreateDate),
+
+                        _ => query.OrderByDescending((a, b) => b.Creater) // 榛樿鎸夊垱寤烘椂闂撮檷搴�
+                    };
+
+                }
+                else
+                {
+                    query = query.OrderByDescending((a, b) => b.Creater);
+                }
+                var reslut = query.Select((a, b) => new
+                {
+                    b.User_Id,
+                    b.UserName,
+                    b.UserTrueName,
+                    b.Unit,
+                    b.Userteam,
+                    b.Role_Id,
+                    b.IsLeader,
+                    //b.RoleName,
+                    b.CardNumber,
+                    b.PhoneNo,
+                    b.UserPwd,
+                    b.DeptName,
+                    b.Dept_Id,
+                    b.Email,
+                    b.Enable,
+                    b.Gender,
+                    b.HeadImageUrl,
+                    b.Address,
+                    b.CreateDate,
+                    b.Creater,
+                    a.RoleName,
+
+                }).ToPageList(pagination.pageIndex, pagination.pageSize, ref totalCount);
+
+
+                return new WebResponseContent
+                {
+                    Status = true,
+                    Data = new
+                    {
+                        totalCount = totalCount,
+                        PageIndex = pagination.pageIndex,
+                        PageSize = pagination.pageSize,
+                        Items = reslut
+                    }
+                };
+
+            }
+            catch (Exception ex)
+            {
+
+                return new WebResponseContent { Status = false, Message = ex.Message };
+            }
+        }
+
+
     }
 }

--
Gitblit v1.9.3