yanjinhui
2025-05-29 1e414dac65915133e5474b6f811fd782be36a17f
project/ºǫ́¹ÜÀí/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs
@@ -25,14 +25,15 @@
        private readonly ISys_MenuService _menuService;
        private readonly IRepository<Dt_FaceRecognition> _faceServer;
        private readonly IRepository<Dt_Loginhsy> _LoginhsyServer;
        public Sys_UserService(IRepository<Dt_Loginhsy> LoginhsyServer,IRepository<Dt_FaceRecognition> faceServer, IRepository<Sys_User> repository, IUnitOfWorkManage unitOfWorkManage, ICacheService cacheService, ISys_MenuService menuService) : base(repository)
        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)
        {
            _faceServer = faceServer;
            _LoginhsyServer = LoginhsyServer;
            _unitOfWorkManage = unitOfWorkManage;
            _cacheService = cacheService;
            _menuService = menuService;
            _MainServer = MainServer;
        }
@@ -520,23 +521,25 @@
                {
                    return new WebResponseContent { Status = false, Message = "账号重复,请重新录入" };
                }
                var face = _faceServer.QueryData().Select(x => x.GroupID).FirstOrDefault();
                var baiduResult = BaiDuFaceHelper.AddUser(new BDUserInfo
                {
                    ImgPath = addUserDTO.path,
                    user_id = addUserDTO.username,
                    group_id = face // è¿™é‡Œåº”该填百度人脸库分组
                                    // group_id = baiduResult.result.log_id
                });
                //人脸识别先注释掉后期开启
                //var face = _faceServer.QueryData().Select(x => x.GroupID).FirstOrDefault();
                //var baiduResult = BaiDuFaceHelper.AddUser(new BDUserInfo
                //{
                //    ImgPath = addUserDTO.path,
                //    user_id = addUserDTO.username,
                //    group_id = face // è¿™é‡Œåº”该填百度人脸库分组
                //                    // group_id = baiduResult.result.log_id
                //});
                // åˆ¤æ–­ç™¾åº¦è¿”回是否成功
                if (baiduResult == null || baiduResult.error_code != 0)
                {
                    return new WebResponseContent { Status = false, Data = "人脸注册失败:" + baiduResult.error_msg };
                //// åˆ¤æ–­ç™¾åº¦è¿”回是否成功
                //if (baiduResult == null || baiduResult.error_code != 0)
                //{
                //    return new WebResponseContent { Status = false, Data = "人脸注册失败:" + baiduResult.error_msg };
                }
                //}
                // åˆ›å»ºç”¨æˆ·æ•°æ®
                var sys = new Sys_User
@@ -544,16 +547,30 @@
                    UserName = addUserDTO.username,
                    UserTrueName = addUserDTO.usertruename,
                    HeadImageUrl = addUserDTO.path,
                    Log_id = baiduResult.log_id,
                    Face_token = baiduResult.result.face_token,
                    //Log_id = baiduResult.log_id,
                    //Face_token = baiduResult.result.face_token,
                    PhoneNo = addUserDTO.phoneno,
                    Role_Id = addUserDTO.roleid,
                    IsLeader = addUserDTO.IsLeader,
                    RoleName = addUserDTO.rolename,
                    Enable = addUserDTO.enable,
                    UserPwd = "j79rYYvCz4vdhcboB1Ausg==",
                    //Userteam = addUserDTO.userteam,
                    Dept_Id = addUserDTO.dept_Id,
                    //CardNumber=addUserDTO.carnuber,
                    CreateDate = DateTime.Now
                };
                BaseDal.AddData(sys);
                //创建Dt_Maintenance表中的数据
                var Main = new Dt_Maintenance
                {
                    UserAccount = addUserDTO.username,
                    Roleid = addUserDTO.roleid,
                    IsLeader = addUserDTO.IsLeader,//是否是组长
                };
                _MainServer.AddData(Main);
                return new WebResponseContent { Status = true, Data = sys };
            }
            catch (Exception ex)
@@ -563,6 +580,7 @@
            }
        }
        /// <summary>
@@ -577,13 +595,15 @@
                // 1. æŸ¥è¯¢ç”¨æˆ·
                var userList = BaseDal.QueryData();
                var sys = userList.FirstOrDefault(x => x.User_Id == addUserDTO.id);
                //查找Dt_MaintenanceTeam中的数据
                var team = _MainServer.QueryData(x => x.UserAccount == sys.UserName).FirstOrDefault();
                if (sys == null)
                {
                    return new WebResponseContent { Status = false, Message = "没找到该用户" };
                }
                // 2. æ£€æŸ¥è´¦å·æ˜¯å¦ä¿®æ”¹ï¼Œå¹¶åˆ¤æ–­æ˜¯å¦é‡å¤//StringComparison.OrdinalIgnoreCase:表示忽略大小写进行比较,比如 "admin" å’Œ "ADMIN" ä¹Ÿè®¤ä¸ºæ˜¯ç›¸ç­‰çš„
                if (!string.Equals(sys.UserName ,addUserDTO.username))
                if (!string.Equals(sys.UserName, addUserDTO.username))
                {
                    var existUser = userList.FirstOrDefault(a => a.UserName == addUserDTO.username);
                    if (existUser != null)
@@ -598,35 +618,46 @@
                sys.PhoneNo = addUserDTO.phoneno;
                sys.Role_Id = addUserDTO.roleid;
                sys.RoleName = addUserDTO.rolename;
                //sys.CardNumber = addUserDTO.carnuber;
                //sys.Userteam = addUserDTO.userteam;
                sys.Dept_Id = addUserDTO.dept_Id;
                sys.Enable = addUserDTO.enable;
                sys.IsLeader = addUserDTO.IsLeader;//更新用户表的是否是组长
                //如果人脸识别添加了这里就注释掉
                sys.HeadImageUrl = addUserDTO.path;
                // 4. æŸ¥è¯¢äººè„¸åº“分组 ID
                var faceGroupID = _faceServer.QueryData().Select(x => x.GroupID).FirstOrDefault();
                // 5. åˆ¤æ–­æ˜¯å¦éœ€è¦æ›´æ–°äººè„¸ä¿¡æ¯
                if (!string.Equals(sys.HeadImageUrl,addUserDTO.path)) // æœ‰æ–°å›¾ç‰‡æ‰å¤„理人脸注册
                {
                    var baiduResult = BaiDuFaceHelper.AddUser(new BDUserInfo
                    {
                        ImgPath = addUserDTO.path,
                        user_id = sys.UserName,
                        group_id = faceGroupID
                    });
                //if (!string.Equals(sys.HeadImageUrl,addUserDTO.path)) // æœ‰æ–°å›¾ç‰‡æ‰å¤„理人脸注册
                //{
                //    var baiduResult = BaiDuFaceHelper.AddUser(new BDUserInfo
                //    {
                //        ImgPath = addUserDTO.path,
                //        user_id = sys.UserName,
                //        group_id = faceGroupID
                //    });
                    // 6. åˆ¤æ–­ç™¾åº¦ API æ˜¯å¦æˆåŠŸ
                    if (baiduResult == null || baiduResult.error_code != 0)
                    {
                        return new WebResponseContent { Status = false, Message = "人脸更新失败:" + baiduResult.error_msg };
                    }
                //    // 6. åˆ¤æ–­ç™¾åº¦ API æ˜¯å¦æˆåŠŸ
                //    if (baiduResult == null || baiduResult.error_code != 0)
                //    {
                //        return new WebResponseContent { Status = false, Message = "人脸更新失败:" + baiduResult.error_msg };
                //    }
                    // 7. æ›´æ–°äººè„¸ç›¸å…³å­—段
                    sys.Log_id = baiduResult.log_id;
                    sys.HeadImageUrl = addUserDTO.path;
                    sys.Face_token = baiduResult.result.face_token;
                }
                //    // 7. æ›´æ–°äººè„¸ç›¸å…³å­—段
                //    sys.Log_id = baiduResult.log_id;
                //    sys.HeadImageUrl = addUserDTO.path;
                //    sys.Face_token = baiduResult.result.face_token;
                //}
                // 8. æ›´æ–°æ•°æ®åº“
                BaseDal.UpdateData(sys);
                //更新Dt_Maintenance表中的数据和user表中修改的一样
                team.UserAccount = addUserDTO.username;//账号
                team.Roleid = addUserDTO.roleid;//更新权限
                team.IsLeader = addUserDTO.IsLeader;
                _MainServer.UpdateData(team);
                return new WebResponseContent { Status = true, Data = sys };
            }
@@ -650,31 +681,33 @@
            try
            {
                // 2. æŸ¥è¯¢äººè„¸åº“分组 ID
                var faceGroupID = _faceServer.QueryData().Select(x => x.GroupID).FirstOrDefault();
                //// 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;
                //WIDESEAWCS_Common.DeleteUserImg deleteUserImg = new WIDESEAWCS_Common.DeleteUserImg();
                //deleteUserImg.group_id = faceGroupID;
                //deleteUserImg.user_id = account;
                string apiResult = BaiDuFaceHelper.DeleteUser(deleteUserImg);//只要给token和log_id
                //string apiResult = BaiDuFaceHelper.DeleteUser(deleteUserImg);//只要给token和log_id
                // 2. è§£æžè¿”回结果,判断删除是否成功
                dynamic resultObj = JsonConvert.DeserializeObject(apiResult);
                if (resultObj.error_code == 0)
                //// 2. è§£æžè¿”回结果,判断删除是否成功
                //dynamic resultObj = JsonConvert.DeserializeObject(apiResult);
                //if (resultObj.error_code == 0)
                //{
                // ç™¾åº¦åˆ é™¤æˆåŠŸåŽï¼Œåˆ é™¤æ•°æ®åº“ä¸­çš„ç”¨æˆ·
                var user = BaseDal.QueryData(x => x.UserName == account).FirstOrDefault();
                var main = _MainServer.QueryData(x => x.UserAccount == account).FirstOrDefault();
                if (user != null && main != null)
                {
                    // ç™¾åº¦åˆ é™¤æˆåŠŸåŽï¼Œåˆ é™¤æ•°æ®åº“ä¸­çš„ç”¨æˆ·
                    var user = BaseDal.QueryData(x => x.UserName == account);
                    if (user != null)
                    {
                        BaseDal.DeleteData(user);
                    }
                    return WebResponseContent.Instance.OK("用户删除成功");
                    BaseDal.DeleteData(user);
                    _MainServer.DeleteData(main);
                }
                else
                {
                    return WebResponseContent.Instance.Error("百度 API åˆ é™¤å¤±è´¥ï¼š" + resultObj.error_msg);
                }
                return WebResponseContent.Instance.OK("用户删除成功");
                //}
                //else
                //{
                //    return WebResponseContent.Instance.Error("百度 API åˆ é™¤å¤±è´¥ï¼š" + resultObj.error_msg);
                //}
            }
            catch (Exception ex)
            {