| | |
| | | using Newtonsoft.Json; |
| | | using OfficeOpenXml.FormulaParsing.Excel.Functions.Math; |
| | | using System.Security.Policy; |
| | | using System.Runtime.InteropServices; |
| | | using System; |
| | | |
| | | namespace WIDESEAWCS_SystemServices |
| | | { |
| | |
| | | |
| | | } |
| | | |
| | | //#region 忬ç»å
¥ |
| | | //public WebResponseContent Login(LoginInfo loginInfo) |
| | | //{ |
| | | // WebResponseContent content = new WebResponseContent(); |
| | | // try |
| | | // { |
| | | // // BaseDal.QueryFirst(x => x.UserName == loginInfo.UserName); |
| | | |
| | | // string msg = string.Empty; |
| | | |
| | | // #region 临æ¶ä½¿ç¨ |
| | | // try |
| | | // { |
| | | // loginInfo.Password = loginInfo.Password.EncryptDES(AppSecret.User); |
| | | // } |
| | | // catch |
| | | // { |
| | | |
| | | // } |
| | | // #endregion |
| | | // if (!string.IsNullOrEmpty(loginInfo.path)) |
| | | // { |
| | | // var gruoid = _faceRecognitionRepository.QueryData().Select(x => x.GroupID).FirstOrDefault(); |
| | | // if (gruoid == null) |
| | | // { |
| | | // return new WebResponseContent { Status = false, Message = "没æ¾å°è¯¥ç»" }; |
| | | |
| | | // } |
| | | // var faceResult = BaiDuFaceHelper.FaceSearch(loginInfo.path, gruoid); |
| | | |
| | | // if (faceResult != null && faceResult.error_code == 0) |
| | | // { |
| | | // // è·åæé«å¹é
度çç¨æ· |
| | | // var bestMatch = faceResult.result.user_list.OrderByDescending(u => u.score).FirstOrDefault();//æ¿ç¬¬ä¸ä¸ªæé«ç |
| | | |
| | | // if (bestMatch != null && double.TryParse(bestMatch.score, out double score) && score > 80) // 设å®80å为å¯ä¿¡åº¦éå¼ |
| | | // { |
| | | // //return new WebResponseContent {Status=true,Data = true,Message="è¯å«ç»å
¥æå" }; |
| | | |
| | | // } |
| | | // } |
| | | |
| | | // return WebResponseContent.Instance.Error("人è¸è¯å«å¤±è´¥ï¼è¯·éè¯"); |
| | | // } |
| | | |
| | | // UserInfo user = BaseDal.GetUserInfo(loginInfo.UserName, loginInfo.Password); |
| | | |
| | | |
| | | // var disbled = BaseDal.QueryFirst(x => x.UserName == loginInfo.UserName);//æ ¹æ®è¿ä¸ªç¨æ·åæ¥æ¥çç¨æ· |
| | | // if (user != null) |
| | | // { |
| | | // object obj = _menuService.GetMenuActionList(user.RoleId); |
| | | // if (obj is not IEnumerable<object> list) |
| | | // { |
| | | // return WebResponseContent.Instance.Error("æ ç»å½æé"); |
| | | // } |
| | | // if (!list.Any()) |
| | | // { |
| | | // return WebResponseContent.Instance.Error("æ ç»å½æé"); |
| | | // } |
| | | // if (disbled.Enable != 1) |
| | | // { |
| | | // return WebResponseContent.Instance.Error("ä½ çè´¦å·å·²è¢«ç¦ç¨ï¼è¯·è系管çå"); |
| | | // } |
| | | |
| | | // string token = JwtHelper.IssueJwt(new TokenModelJwt() |
| | | // { |
| | | // UserId = user.UserId, |
| | | // RoleId = user.RoleId, |
| | | // UserName = user.UserName, |
| | | // TenantId = user.TenantId, |
| | | // }); |
| | | // //ç»å
¥åå²è®°å½ |
| | | // var loghis = new Dt_LoginHistory |
| | | // { |
| | | // Account = user.UserName, |
| | | // TrurName = user.UserTrueName, |
| | | // CreateDate = DateTime.Now |
| | | |
| | | // }; |
| | | |
| | | |
| | | // _cacheService.AddOrUpdate(user.UserId.ToString(), token); |
| | | // _loginHistoryRepository.AddData(loghis); |
| | | |
| | | // content = WebResponseContent.Instance.OK(data: new { token, userName = user.UserTrueName, img = user.HeadImageUrl, ID = user.UserId, RoleId = user.RoleId }); |
| | | // } |
| | | // else |
| | | // { |
| | | // content = WebResponseContent.Instance.Error("è´¦å·æå¯ç é误"); |
| | | // } |
| | | |
| | | // } |
| | | |
| | | // catch (Exception ex) |
| | | // { |
| | | // content = WebResponseContent.Instance.Error(ex.Message); |
| | | // } |
| | | |
| | | // return content; |
| | | //} |
| | | //#endregion |
| | | |
| | | |
| | | #region 人è¸è¯å«ç»å
¥æ¥å£ |
| | | /// <summary> |
| | | /// 人è¸è¯å«ç»å
¥æ¥å£ |
| | | /// </summary> |
| | |
| | | user = BaseDal.GetUserInfo(loginInfo.UserName, loginInfo.Password); |
| | | } |
| | | |
| | | // 妿æ¾å°ç¨æ· |
| | | if (user != null) |
| | | // 妿æ¾å°ç¨æ· |
| | | if (user != null) |
| | | { |
| | | |
| | | var disbled = BaseDal.QueryFirst(x => x.UserName == loginInfo.UserName); |
| | | if (disbled.Enable != 1) |
| | | { |
| | | |
| | | var disbled = BaseDal.QueryFirst(x => x.UserName == loginInfo.UserName); |
| | | if (disbled.Enable != 1) |
| | | { |
| | | return WebResponseContent.Instance.Error("ä½ çè´¦å·å·²è¢«ç¦ç¨ï¼è¯·è系管çå"); |
| | | } |
| | | |
| | | // è·åè§è²æé |
| | | object obj = _menuService.GetMenuActionList(user.RoleId); |
| | | if (obj is not IEnumerable<object> list || !list.Any()) |
| | | { |
| | | return WebResponseContent.Instance.Error("æ ç»å½æé"); |
| | | } |
| | | |
| | | // çæ JWT Token |
| | | string token = JwtHelper.IssueJwt(new TokenModelJwt() |
| | | { |
| | | UserId = user.UserId, |
| | | RoleId = user.RoleId, |
| | | UserName = user.UserName, |
| | | TenantId = user.TenantId, |
| | | }); |
| | | |
| | | // è®°å½ç»å½åå² |
| | | var loghis = new Dt_LoginHistory |
| | | { |
| | | Account = user.UserName, |
| | | TrurName = user.UserTrueName, |
| | | CreateDate = DateTime.Now |
| | | }; |
| | | |
| | | // ä¿åç¨æ·ç»å½ä¿¡æ¯ |
| | | _cacheService.AddOrUpdate(user.UserId.ToString(), token); |
| | | _loginHistoryRepository.AddData(loghis); |
| | | |
| | | // è¿åååº |
| | | content = WebResponseContent.Instance.OK(data: new |
| | | { |
| | | token, |
| | | userName = user.UserTrueName, |
| | | img = user.HeadImageUrl, |
| | | ID = user.UserId, |
| | | RoleId = user.RoleId |
| | | }); |
| | | return WebResponseContent.Instance.Error("ä½ çè´¦å·å·²è¢«ç¦ç¨ï¼è¯·è系管çå"); |
| | | } |
| | | else |
| | | |
| | | // è·åè§è²æé |
| | | object obj = _menuService.GetMenuActionList(user.RoleId); |
| | | if (obj is not IEnumerable<object> list || !list.Any()) |
| | | { |
| | | content = WebResponseContent.Instance.Error("è´¦å·æå¯ç é误"); |
| | | return WebResponseContent.Instance.Error("æ ç»å½æé"); |
| | | } |
| | | |
| | | // çæ JWT Token |
| | | string token = JwtHelper.IssueJwt(new TokenModelJwt() |
| | | { |
| | | UserId = user.UserId, |
| | | RoleId = user.RoleId, |
| | | UserName = user.UserName, |
| | | TenantId = user.TenantId, |
| | | }); |
| | | |
| | | // è®°å½ç»å½åå² |
| | | var loghis = new Dt_LoginHistory |
| | | { |
| | | Account = user.UserName, |
| | | TrurName = user.UserTrueName, |
| | | CreateDate = DateTime.Now |
| | | }; |
| | | |
| | | // ä¿åç¨æ·ç»å½ä¿¡æ¯ |
| | | _cacheService.AddOrUpdate(user.UserId.ToString(), token); |
| | | _loginHistoryRepository.AddData(loghis); |
| | | |
| | | // è¿åååº |
| | | content = WebResponseContent.Instance.OK(data: new |
| | | { |
| | | token, |
| | | userName = user.UserTrueName, |
| | | img = user.HeadImageUrl, |
| | | ID = user.UserId, |
| | | RoleId = user.RoleId |
| | | }); |
| | | } |
| | | else |
| | | { |
| | | content = WebResponseContent.Instance.Error("è´¦å·æå¯ç é误"); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | |
| | | return content; |
| | | } |
| | | #endregion |
| | | |
| | | |
| | | |
| | | |
| | | public override WebResponseContent UpdateData(SaveModel saveModel) |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// æ ¹æ®ç¨æ·ç»æ¥æ¥çå½åä½ä¸çæé |
| | | /// </summary> |
| | | /// <param name="userId">ç¨æ·id</param> |
| | | /// <param name="group">ç¨æ·åç»</param> |
| | | /// <returns></returns> |
| | | public WebResponseContent PermissionView(int userId, string group) |
| | | { |
| | | try |
| | |
| | | { |
| | | try |
| | | { |
| | | |
| | | // 1. æ¥è¯¢ç¨æ· |
| | | var user = BaseDal.QueryData(); |
| | | var sys = user.Where(x => x.User_Id == addUserDTO.id).FirstOrDefault(); |
| | | var userList = BaseDal.QueryData(); |
| | | var sys = userList.FirstOrDefault(x => x.User_Id == addUserDTO.id); |
| | | if (sys == null) |
| | | { |
| | | return new WebResponseContent { Status = false, Message = "没æ¾å°è¯¥ç¨æ·" }; |
| | | } |
| | | |
| | | // 2. æ¥è¯¢äººè¸åºåç» ID |
| | | var faceGroupID = _faceRecognitionRepository.QueryData().Select(x => x.GroupID).FirstOrDefault(); |
| | | |
| | | // 3. 夿æ¯å¦éè¦æ´æ°äººè¸ä¿¡æ¯ |
| | | string faceToken = null; |
| | | if (!string.IsNullOrEmpty(addUserDTO.path)) // åªæä¼ äºæ°å¾çï¼ææ´æ°äººè¸ä¿¡æ¯ |
| | | // 2. æ£æ¥è´¦å·æ¯å¦ä¿®æ¹ï¼å¹¶å¤ææ¯å¦éå¤//StringComparison.OrdinalIgnoreCaseï¼è¡¨ç¤ºå¿½ç¥å¤§å°åè¿è¡æ¯è¾ï¼æ¯å¦ "admin" å "ADMIN" ä¹è®¤ä¸ºæ¯ç¸çç |
| | | if (!string.Equals(sys.UserName, addUserDTO.username)) |
| | | { |
| | | var baiduResult = BaiDuFaceHelper.AddUser(new BDUserInfo |
| | | var existUser = userList.FirstOrDefault(a => a.UserName == addUserDTO.username); |
| | | if (existUser != null) |
| | | { |
| | | ImgPath = addUserDTO.path, |
| | | user_id = addUserDTO.username, |
| | | group_id = faceGroupID // è¿éåºè¯¥å¡«ç¾åº¦äººè¸åºåç» |
| | | }); |
| | | |
| | | // 4. 夿ç¾åº¦ API æ¯å¦æå |
| | | if (baiduResult == null || baiduResult.error_code != 0) |
| | | { |
| | | return new WebResponseContent { Status = false, Message = "该å¾çä¹åå¨ï¼ä¸è¦éå¤ä¸ä¼ ï¼" + baiduResult.error_msg }; |
| | | return new WebResponseContent { Status = false, Message = "è´¦å·éå¤ï¼è¯·éæ°å½å
¥" }; |
| | | } |
| | | |
| | | // 5. åªæå½ä¸ä¼ äºæ°å¾çå¹¶æåæ¶ï¼ææ´æ°è¿äºå段 |
| | | faceToken = baiduResult.result.face_token; |
| | | sys.Log_id = baiduResult.log_id; |
| | | sys.HeadImageUrl = addUserDTO.path; |
| | | sys.UserName = addUserDTO.username; // 确认å¯ä»¥æ¹æ¶æä¿®æ¹ |
| | | } |
| | | |
| | | // 6. æ´æ°ç¨æ·å
¶ä»ä¿¡æ¯ |
| | | sys.UserName = addUserDTO.username; |
| | | // 3. æ´æ°å
¶ä»ç¨æ·ä¿¡æ¯ |
| | | sys.UserTrueName = addUserDTO.usertruename; |
| | | sys.Face_token = faceToken ?? sys.Face_token; // åªæå½ faceToken æå¼æ¶ææ´æ°ï¼å¦åä¿æåå¼ |
| | | sys.PhoneNo = addUserDTO.phoneno; |
| | | sys.Role_Id = addUserDTO.roleid; |
| | | sys.RoleName = addUserDTO.rolename; |
| | | sys.Enable = addUserDTO.enable; |
| | | var list = user.Where(a => a.UserName == addUserDTO.username).FirstOrDefault(); |
| | | if (list != null) |
| | | |
| | | // 4. æ¥è¯¢äººè¸åºåç» ID |
| | | var faceGroupID = _faceRecognitionRepository.QueryData().Select(x => x.GroupID).FirstOrDefault(); |
| | | |
| | | // 5. 夿æ¯å¦éè¦æ´æ°äººè¸ä¿¡æ¯Equals æ¯ .NET ä¸ç¨äºæ¯è¾ä¸¤ä¸ªå¯¹è±¡æ¯å¦ç¸ç |
| | | if (!string.Equals(sys.HeadImageUrl, addUserDTO.path)) // ææ°å¾çæå¤çäººè¸æ³¨å=> åé¢çåæ³çäº=if (sys.HeadImageUrl!=addUserDTO.path) |
| | | { |
| | | return new WebResponseContent { Status = false, Message = "è´¦å·éå¤ï¼è¯·éæ°å½å
¥" }; |
| | | 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 }; |
| | | } |
| | | |
| | | // 7. æ´æ°äººè¸ç¸å
³å段 |
| | | sys.Log_id = baiduResult.log_id; |
| | | sys.HeadImageUrl = addUserDTO.path; |
| | | sys.Face_token = baiduResult.result.face_token; |
| | | } |
| | | // 7. æ´æ°æ°æ®åº |
| | | |
| | | // 8. æ´æ°æ°æ®åº |
| | | BaseDal.UpdateData(sys); |
| | | |
| | | return new WebResponseContent { Status = true, Data = sys }; |
| | |
| | | return new WebResponseContent { Status = false, Message = "失败ï¼" + ex.Message }; |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | |
| | | deleteUserImg.group_id = faceGroupID; |
| | | deleteUserImg.user_id = account; |
| | | |
| | | string apiResult = BaiDuFaceHelper.DeleteUser(deleteUserImg);//åªè¦ç»tokenålog_id |
| | | string apiResult = BaiDuFaceHelper.DeleteUser(deleteUserImg);//åªè¦ç»ç¨æ·è´¦å·åç¨æ·ç»id |
| | | |
| | | // 2. è§£æè¿åç»æï¼å¤æå 餿¯å¦æå |
| | | dynamic resultObj = JsonConvert.DeserializeObject(apiResult); |
| | |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 人è¸å é¤ï¼å é¤ç¨æ·çæä¸å¼ 人è¸ï¼å¦æè¯¥ç¨æ·åªæä¸å¼ 人è¸å¾çï¼ååæ¶å é¤ç¨æ·ãï¼ |
| | | /// </summary> |
| | | /// <param name="addUserDTO"></param> |
| | | /// <returns></returns> |
| | | /// <exception cref="NotImplementedException"></exception> |
| | | public WebResponseContent DeleteUserIsface(string account) |
| | | { |
| | | try |
| | | { |
| | | |
| | | // 1. æ¥è¯¢äººè¸åºåç» ID |
| | | var faceGroupID = _faceRecognitionRepository.QueryData().Select(x => x.GroupID).FirstOrDefault(); |
| | | //2.æ¥è¯¢è¦å é£ä¸ªç¨æ·ç |
| | | var user = BaseDal.QueryData(x => x.UserName == account).FirstOrDefault(); |
| | | if (user == null) |
| | | { |
| | | return new WebResponseContent { Status = false, Message = "ç¨æ·ä¸åå¨ï¼è¯·æ£æ¥è´¦å·æ¯å¦è¾å
¥æ£ç¡®" }; |
| | | } |
| | | |
| | | WIDESEAWCS_Common.DeleteUserImg deleteUserImg = new WIDESEAWCS_Common.DeleteUserImg(); |
| | | deleteUserImg.group_id = faceGroupID; |
| | | deleteUserImg.user_id = account; |
| | | deleteUserImg.face_token = user.Face_token; |
| | | deleteUserImg.log_id=user.Log_id; |
| | | |
| | | string apiResult = BaiDuFaceHelper.DeleteUserImg(deleteUserImg);//ç»ç¨æ·è´¦å·/ç¨æ·ç»id/Face_token/Log_id |
| | | |
| | | // 2. è§£æè¿åç»æï¼å¤æå 餿¯å¦æå |
| | | dynamic resultObj = JsonConvert.DeserializeObject(apiResult); |
| | | if (resultObj.error_code == 0) |
| | | { |
| | | if (user != null) |
| | | { |
| | | BaseDal.DeleteData(user); |
| | | } |
| | | return WebResponseContent.Instance.OK("å 餿å"); |
| | | } |
| | | else |
| | | { |
| | | return WebResponseContent.Instance.Error("ç¾åº¦ API å é¤å¤±è´¥ï¼" + resultObj.error_msg); |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return WebResponseContent.Instance.Error("å é¤ç¨æ·å¤±è´¥ï¼" + ex.Message); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |