From b9c76ce85e533250cd36de670146530f970859e7 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期五, 01 八月 2025 11:29:49 +0800
Subject: [PATCH] 修改伸缩杆接口

---
 项目代码/后端/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs |   99 +++++++++++++++++++++++++++++++------------------
 1 files changed, 63 insertions(+), 36 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs"
index 15a7b55..d9ddf8c 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/\345\220\216\347\253\257/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs"
@@ -33,9 +33,11 @@
         private readonly IRepository<Dt_Maintenance> _MainServer;
         private readonly IRepository<Sys_Role> _RoleServer;
         private readonly IRepository<Dt_AuthorizationRecord> _AuthorizatRecServer;
+        private readonly IRepository<Sys_UserFace> _userFace;
 
-        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)
+        public Sys_UserService(IRepository<Sys_UserFace> userFace,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)
         {
+            _userFace = userFace;
             _faceServer = faceServer;
             _LoginhsyServer = LoginhsyServer;
             _unitOfWorkManage = unitOfWorkManage;
@@ -695,7 +697,7 @@
                         UserTeam = addUserDTO.userteam,
                         EnableTime = addUserDTO.enable == 1 ? DateTime.Now : (DateTime?)null, //鍚敤
                         DisableTime = addUserDTO.enable == 0 ? DateTime.Now : (DateTime?)null,//涓嶅惎鐢�
-                       
+                      
                     };
 
 
@@ -726,36 +728,44 @@
         public WebResponseContent DeleteUserData(string account)
         {
             try
-
             {
+                // 1. 妫�鏌ョ敤鎴锋槸鍚﹀瓨鍦�
+                var user = BaseDal.QueryData(x => x.UserName == account).FirstOrDefault();
+                if (user == null)
+                {
+                    return WebResponseContent.Instance.Error("鐢ㄦ埛涓嶅瓨鍦�");
+                }
 
-                // 2. 鏌ヨ浜鸿劯搴撳垎缁� ID
-                //var faceGroupID = _faceServer.QueryData().Select(x => x.GroupID).FirstOrDefault();
-
-                //WIDESEAWCS_Common.DeleteUserImg deleteUserImg = new WIDESEAWCS_Common.DeleteUserImg();
-                //deleteUserImg.group_id = faceGroupID;
-                //deleteUserImg.user_id = account;
-
-                //string apiResult = BaiDuFaceHelper.DeleteUser(deleteUserImg);//鍙缁檛oken鍜宭og_id
-
-                //// 2. 瑙f瀽杩斿洖缁撴灉锛屽垽鏂垹闄ゆ槸鍚︽垚鍔�
-                //dynamic resultObj = JsonConvert.DeserializeObject(apiResult);
-                //if (resultObj.error_code == 0)
-                //{
-                    // 鐧惧害鍒犻櫎鎴愬姛鍚庯紝鍒犻櫎鏁版嵁搴撲腑鐨勭敤鎴�
-                  var user = BaseDal.QueryData(x => x.UserName == account).FirstOrDefault();
+                // 2. 妫�鏌ヤ富璁板綍鏄惁瀛樺湪鍙婄姸鎬�
                 var main = _MainServer.QueryData(x => x.UserAccount == account).FirstOrDefault();
-                if (user != null&&main!=null)
-                    {
-                        BaseDal.DeleteData(user);
+                if (main == null)
+                {
+                    return WebResponseContent.Instance.Error("鐢ㄦ埛涓昏褰曚笉瀛樺湪");
+                }
+                if (main.MaintenanceStatus == 1)
+                {
+                    return WebResponseContent.Instance.Error("璇ョ敤鎴疯繕鍦ㄦ淇腑锛屾棤娉曞垹闄�");
+                }
+
+                // 3. 妫�鏌ヤ汉鑴歌褰曟槸鍚﹀瓨鍦�
+                var face = _userFace.QueryFirst(x => x.UserName == account);
+
+                // 4. 鎸夋潯浠跺垹闄�
+                if (face == null)
+                {
+                    // 浠呭垹闄� user 鍜� main
+                    BaseDal.DeleteData(user);
                     _MainServer.DeleteData(main);
                 }
-                    return WebResponseContent.Instance.OK("鐢ㄦ埛鍒犻櫎鎴愬姛");
-                //}
-                //else
-                //{
-                //    return WebResponseContent.Instance.Error("鐧惧害 API 鍒犻櫎澶辫触锛�" + resultObj.error_msg);
-                //}
+                else
+                {
+                    // 鍒犻櫎鎵�鏈変笁涓褰�
+                    _userFace.DeleteData(face);
+                    BaseDal.DeleteData(user);
+                    _MainServer.DeleteData(main);
+                }
+
+                return WebResponseContent.Instance.OK("鐢ㄦ埛鍒犻櫎鎴愬姛");
             }
             catch (Exception ex)
             {
@@ -996,7 +1006,7 @@
                   a.Email,
                   a.Enable,
                   a.Gender,
-                  //b.HeadImageUrl,
+                  //b.UserFaceImagePath,
                   b.UserFaceImageName,
                   a.Address,
                   a.CreateDate,
@@ -1024,10 +1034,10 @@
 
                 return new WebResponseContent { Status = false, Message = ex.Message };
                 }
-            }
+        }
 
-        
-        
+
+
         /// <summary>
         /// 鎵归噺鍒犻櫎
         /// </summary>
@@ -1035,7 +1045,7 @@
         /// <returns></returns>
         public WebResponseContent DelUserList(int[] keys)
         {
-            WebResponseContent webResponse=new WebResponseContent();
+            WebResponseContent webResponse = new WebResponseContent();
             foreach (int key in keys)
             {
                 var user = BaseDal.QueryData(x => x.User_Id == key).FirstOrDefault();
@@ -1044,12 +1054,29 @@
                     return webResponse.Error("娌℃湁鎵惧埌璇ョ敤鎴�");
                 }
                 var main = _MainServer.QueryData(x => x.UserAccount == user.UserName).FirstOrDefault();
-             
-                BaseDal.DeleteData(user);
-                _MainServer.DeleteData(main);
+                var face = _userFace.QueryData(x => x.UserName == user.UserName).FirstOrDefault();
+                if (main.MaintenanceStatus == 1)
+                {
+                    return WebResponseContent.Instance.Error("璇ョ敤鎴疯繕鍦ㄦ淇腑锛屾棤娉曞垹闄�");
+                }
+                if (face==null)
+                {
+                    BaseDal.DeleteData(user);
+                    _MainServer.DeleteData(main);   
+                }
+                else
+                {
+                    BaseDal.DeleteData(user);
+                    _MainServer.DeleteData(main);
+                    _userFace.DeleteData(face);
+                }
             } 
-           
+
             return webResponse.OK();
         }
+      
+
+               
+        
     }
 }

--
Gitblit v1.9.3