yanjinhui
2025-05-09 a5cd28ab9fd03a958d0bcc697816962e26e45914
project/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/Sys_UserService.cs
@@ -521,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
@@ -545,13 +547,15 @@
                    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,
                    RoleName = addUserDTO.rolename,
                    Enable = addUserDTO.enable,
                    UserPwd = "j79rYYvCz4vdhcboB1Ausg==",
                    Userteam=addUserDTO.userteam,
                    CardNumber=addUserDTO.carnuber,
                    CreateDate = DateTime.Now
                };
                BaseDal.AddData(sys);
@@ -599,32 +603,36 @@
                sys.PhoneNo = addUserDTO.phoneno;
                sys.Role_Id = addUserDTO.roleid;
                sys.RoleName = addUserDTO.rolename;
                sys.CardNumber = addUserDTO.carnuber;
                sys.Userteam = addUserDTO.userteam;
                sys.Enable = addUserDTO.enable;
                //如果人脸识别添加了这里就注释掉
                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);
@@ -652,18 +660,18 @@
            {
                // 2. 查询人脸库分组 ID
                var faceGroupID = _faceServer.QueryData().Select(x => x.GroupID).FirstOrDefault();
                //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);
                    if (user != null)
@@ -671,11 +679,11 @@
                        BaseDal.DeleteData(user);
                    }
                    return WebResponseContent.Instance.OK("用户删除成功");
                }
                else
                {
                    return WebResponseContent.Instance.Error("百度 API 删除失败:" + resultObj.error_msg);
                }
                //}
                //else
                //{
                //    return WebResponseContent.Instance.Error("百度 API 删除失败:" + resultObj.error_msg);
                //}
            }
            catch (Exception ex)
            {