111
yanjinhui
2025-04-02 20f099aee8715510406bf46c5e8ff4a8f5d532df
ÏîÄ¿´úÂë/WIDESEAWCS_Server Õýʽ/WIDESEAWCS_SystemServices/Sys_UserService.cs
@@ -20,6 +20,7 @@
using WIDESEAWCS_DTO.Telescopic;
using WIDESEAWCS_Common;
using Newtonsoft.Json;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
namespace WIDESEAWCS_SystemServices
{
@@ -463,7 +464,7 @@
                    return new WebResponseContent { Status = false, Message = "数据为空" };
                }
                var query = sys.LeftJoin<Dt_FaceRecognition>((a, b) => a.Log_id == b.ID);
                var query = sys.LeftJoin<Dt_FaceRecognition>((a, b) => a.Log_id == b.GroupID);
                if (!string.IsNullOrEmpty(paginationDTO.searchKeyword))
                {
                    query = query.Where((a, b) =>
@@ -481,6 +482,8 @@
                var result = query.Select((a, b) => new
                {
                    a.UserPwd,
                    a.Log_id,
                    a.User_Id,
                    a.UserName,
                    a.UserTrueName,
@@ -514,17 +517,27 @@
            }
        }
        /// <summary>
        /// æ·»åŠ ç”¨æˆ·
        /// </summary>
        /// <param name="addUserDTO"></param>
        /// <returns></returns>
        public WebResponseContent AdduserData(AddUserDTO addUserDTO)
        {
            try
            {
                if (addUserDTO == null)
                {
                    return new WebResponseContent { Status = false, Message = "请求数据为空,可能是 JSON è§£æžå¤±è´¥" };
                }
                var face = _faceRecognitionRepository.QueryData().Select(x => x.GroupID).FirstOrDefault(); ;
                var baiduResult = BaiDuFaceHelper.AddUser(new BDUserInfo
                {
                    ImgPath = addUserDTO.path,
                    user_id = addUserDTO.username,
                    group_id = addUserDTO.log_id // è¿™é‡Œåº”该填百度人脸库分组
                    group_id = face // è¿™é‡Œåº”该填百度人脸库分组
                   // group_id = baiduResult.result.log_id
                });
@@ -532,20 +545,24 @@
                if (baiduResult == null || baiduResult.error_code != 0)
                {
                    return new WebResponseContent { Status = false, Data = "人脸注册失败:" + baiduResult.error_msg };
                }
                // åˆ›å»ºç”¨æˆ·æ•°æ®
                var sys = new Sys_User
                {
                    UserName = addUserDTO.username,
                    UserTrueName=addUserDTO.usertruename,
                    HeadImageUrl=addUserDTO.path,
                    Log_id = addUserDTO.log_id,
                    Log_id = face,
                    Face_token = baiduResult.result.face_token,
                    PhoneNo = addUserDTO.phoneno,
                    Role_Id = addUserDTO.roleid,
                    RoleName = addUserDTO.rolename,
                    Enable = addUserDTO.enable,
                    UserPwd= "j79rYYvCz4vdhcboB1Ausg=="
                    UserPwd= "j79rYYvCz4vdhcboB1Ausg==",
                    CreateDate=DateTime.Now
                };
                BaseDal.AddData(sys);
                return new WebResponseContent { Status = true, Data = sys };
@@ -558,48 +575,70 @@
        }
        /// <summary>
        /// æ›´æ–°ç”¨æˆ·
        /// </summary>
        /// <param name="addUserDTO"></param>
        /// <returns></returns>
        public WebResponseContent UpuserData(AddUserDTO addUserDTO)
        {
            try
            {
                var baiduResult = BaiDuFaceHelper.AddUser(new BDUserInfo
                var sys = BaseDal.QueryData(x => x.User_Id == addUserDTO.id).FirstOrDefault();
                if (sys == null)
                {
                    ImgPath = addUserDTO.path,
                    user_id = addUserDTO.username,
                    group_id = addUserDTO.log_id // è¿™é‡Œåº”该填百度人脸库分组
                });
                // åˆ¤æ–­ç™¾åº¦è¿”回是否成功
                if (baiduResult == null || baiduResult.error_code != 0)
                    return new WebResponseContent { Status = false, Message = "没找到该用户" };
                }
                var face = _faceRecognitionRepository.QueryData().Select(x => x.GroupID).FirstOrDefault();
                // åˆ¤æ–­æ˜¯å¦éœ€è¦æ›´æ–°äººè„¸å›¾ç‰‡
                string faceToken = null;
                if (!string.IsNullOrEmpty(addUserDTO.path)) // å¦‚果传了图片路径,才更新人脸信息
                {
                    return new WebResponseContent { Status = false, Data = "人脸更新失败:" + baiduResult.error_msg };
                    var baiduResult = BaiDuFaceHelper.AddUser(new BDUserInfo
                    {
                        ImgPath = addUserDTO.path,
                        user_id = addUserDTO.username,
                        group_id = face // è¿™é‡Œåº”该填百度人脸库分组
                    });
                    // åˆ¤æ–­ç™¾åº¦è¿”回是否成功
                    if (baiduResult == null || baiduResult.error_code != 0)
                    {
                        return new WebResponseContent { Status = false, Data = "人脸以存在,不要重复上传:" + baiduResult.error_msg };
                    }
                    // èŽ·å–æ›´æ–°åŽçš„ Face_token
                    faceToken = baiduResult.result.face_token;
                }
                // æ›´æ–°ç”¨æˆ·æ•°æ®
                var sys = new Sys_User
                {
                    UserName = addUserDTO.username,
                    HeadImageUrl = addUserDTO.path,
                    Log_id = addUserDTO.log_id,
                    Face_token = baiduResult.result.face_token,
                    PhoneNo = addUserDTO.phoneno,
                    Role_Id = addUserDTO.roleid,
                    RoleName = addUserDTO.rolename,
                    Enable = addUserDTO.enable,
                };
                // æŸ¥è¯¢çŽ°æœ‰ç”¨æˆ·
                // æ›´æ–°æŸ¥è¯¢åˆ°çš„用户数据
                sys.UserName = addUserDTO.username;
                sys.UserTrueName = addUserDTO.usertruename;
                sys.HeadImageUrl = addUserDTO.path; // æ›´æ–°å¤´åƒè·¯å¾„(如果有新路径)
                sys.Log_id = face;
                //sys.Face_token = faceToken ?? addUserDTO.face_token; // å¦‚果没有更新图片,保持原有 Face_token
                sys.Face_token = faceToken; // å¦‚果没有更新图片,保持原有 Face_token
                sys.PhoneNo = addUserDTO.phoneno;
                sys.Role_Id = addUserDTO.roleid;
                sys.RoleName = addUserDTO.rolename;
                sys.Enable = addUserDTO.enable;
                // æ›´æ–°æ•°æ®åº“
                BaseDal.UpdateData(sys);
                return new WebResponseContent { Status = true, Data = sys };
            }
            catch (Exception ex)
            {
                return new WebResponseContent { Status = false, Message = "失败" + ex };
                return new WebResponseContent { Status = false, Message = "失败:" + ex.Message };
            }
        }
        /// <summary>
        /// åˆ é™¤
@@ -611,7 +650,7 @@
            try
            {
                
                string apiResult = BaiDuFaceHelper.DeleteUser(deleteUserDTO);
                string apiResult = BaiDuFaceHelper.DeleteUser(deleteUserDTO);//只要给token和log_id
                // 2. è§£æžè¿”回结果,判断删除是否成功
                dynamic resultObj = JsonConvert.DeserializeObject(apiResult);