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_UserFaceService.cs | 155 +++++++++++++++++++++++++++++---------------------- 1 files changed, 88 insertions(+), 67 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_UserFaceService.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_UserFaceService.cs" index a157c22..e9d396c 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_UserFaceService.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_UserFaceService.cs" @@ -1,4 +1,6 @@ 锘� +using OfficeOpenXml.FormulaParsing.Excel.Functions.DateTime; +using SkiaSharp; using System.Drawing; using System.Drawing.Imaging; using WIDESEAWCS_Common.Face; @@ -7,6 +9,8 @@ using WIDESEAWCS_Core.BaseRepository; using WIDESEAWCS_Core.BaseServices; using WIDESEAWCS_Core.Caches; +using WIDESEAWCS_Core.Const; +using WIDESEAWCS_Core.Helper; using WIDESEAWCS_ISystemServices; using WIDESEAWCS_Model.Models; using File = System.IO.File; @@ -49,42 +53,54 @@ image.Save(filePath, ImageFormat.Png); } - var (flag, result) = FaceHelper.FaceRecognition(sourcePath, filePath); - - if (flag) + try { - Sys_UserFace userFace = BaseDal.QueryFirst(x => x.UserFaceImagePath.Contains(result)); - if (userFace != null) + var (flag, result) = FaceHelper.FaceRecognition(sourcePath, filePath); + + if (flag) { - Sys_User user = _userRepository.QueryFirst(x => x.User_Id == userFace.User_Id && x.UserName == userFace.UserName); - if (user != null) + Sys_UserFace userFace = BaseDal.QueryFirst(x => x.UserFaceImagePath.Contains(result)); + if (userFace != null) { - string token = JwtHelper.IssueJwt(new TokenModelJwt() + Sys_User user = _userRepository.QueryFirst(x => x.User_Id == userFace.User_Id && x.UserName == userFace.UserName); + if (user != null) { - UserId = user.User_Id, - RoleId = user.Role_Id, - UserName = user.UserName, - TenantId = user.TenantId, - }); + string token = JwtHelper.IssueJwt(new TokenModelJwt() + { + UserId = user.User_Id, + RoleId = user.Role_Id, + UserName = user.UserName, + TenantId = user.TenantId, + }); - _cacheService.AddOrUpdate(user.User_Id.ToString(), token); + _cacheService.AddOrUpdate(user.User_Id.ToString(), token); - return WebResponseContent.Instance.OK(data: new { token, userName = user.UserTrueName, img = user.HeadImageUrl }); + return WebResponseContent.Instance.OK(data: new { token, userName = user.UserTrueName, img = user.HeadImageUrl }); + } + else + { + return WebResponseContent.Instance.Error($"鏈壘鍒板尮閰嶇殑鐢ㄦ埛淇℃伅,{result}"); + } } else { - return WebResponseContent.Instance.Error($"鏈壘鍒板尮閰嶇殑鐢ㄦ埛淇℃伅,{result}"); + return WebResponseContent.Instance.Error($"鏈壘鍒板尮閰嶇殑浜鸿劯淇℃伅,{result}"); } } else { - return WebResponseContent.Instance.Error($"鏈壘鍒板尮閰嶇殑浜鸿劯淇℃伅,{result}"); + return WebResponseContent.Instance.Error(result); } } - else + catch (Exception ex) { - return WebResponseContent.Instance.Error(result); + return new WebResponseContent + { + Status = false, + Message = "鐧诲綍澶辫触锛�" + ex.Message + }; } + } finally { @@ -111,6 +127,15 @@ }; } + //if (App.User.IsSuperAdmin) + //{ + // return new WebResponseContent + // { + // Status = false, + // Message = "鏃犳潈闄�" + // }; + //} + string str = Environment.CurrentDirectory; byte[] data = Convert.FromBase64String(model.Base64Image); @@ -127,77 +152,49 @@ } string fileName = $"face_{DateTime.Now.ToString("yyyyMMddHHmmssfff")}.jpg"; + string path = "Record\\" + fileName; string filePath = basePath + fileName; - // 浣跨敤瀛楄妭鏁扮粍鍒涘缓MemoryStream + //// 浣跨敤瀛楄妭鏁扮粍鍒涘缓MemoryStream using (MemoryStream ms = new MemoryStream(data)) { // 浠嶮emoryStream鍒涘缓Image瀵硅薄 Image image = Image.FromStream(ms); - - image.Save(curPath + fileName, ImageFormat.Png); - { - var (flag, result) = FaceHelper.FaceRecognition(basePath, curPath + fileName); - if (flag) - { - Sys_UserFace userFaceTemp = BaseDal.QueryFirst(x => x.UserFaceImagePath.Contains(result)); - if (userFaceTemp != null && userFaceTemp.User_Id != App.User.UserId && userFaceTemp.UserName != App.User.UserName) - { - return new WebResponseContent - { - Status = false, - Message = "涓嶅彲娉ㄥ唽澶氫釜璐﹀彿" - }; - } - } - } + image.Save(curPath + fileName, ImageFormat.Png); image.Save(filePath, ImageFormat.Png); } - + // 鑾峰彇褰撳墠鐢ㄦ埛淇℃伅 - Sys_UserFace userFace = BaseDal.QueryFirst(x => x.UserName == App.User.UserName && x.User_Id == App.User.UserId); + Sys_UserFace userFace = BaseDal.QueryFirst(x => x.User_Id == model.UserId); if (userFace != null) { - if (!string.IsNullOrEmpty(userFace.UserFaceImagePath)) - { - string? firstImagePath = userFace.UserFaceImagePath.Split(',').FirstOrDefault(); - if (!string.IsNullOrEmpty(firstImagePath)) - { - var (flag, result) = FaceHelper.FaceRecognitionOne(firstImagePath, filePath); - if (flag) - { - userFace.UserFaceImagePath += "," + filePath; + userFace.UserFaceImagePath = filePath; + userFace.UserFaceImageName = path; - base.UpdateData(userFace); + base.UpdateData(userFace); - return WebResponseContent.Instance.OK("浜鸿劯褰曞叆鎴愬姛", filePath); - } - else - { - return WebResponseContent.Instance.Error(result); - } - } - } - else - { - userFace.UserFaceImagePath = filePath; + return WebResponseContent.Instance.OK("浜鸿劯褰曞叆鎴愬姛", filePath); - base.UpdateData(userFace); - - return WebResponseContent.Instance.OK("浜鸿劯褰曞叆鎴愬姛", filePath); - } } + + Sys_User user = _userRepository.QueryFirst(x => x.User_Id == model.UserId); + if (user == null) + { + return WebResponseContent.Instance.Error("鏈壘鍒扮敤鎴蜂俊鎭�"); + } + userFace = new Sys_UserFace { - User_Id = App.User.UserId, - UserName = App.User.UserName, - UserFaceImageName = fileName, + User_Id = user.User_Id, + UserName = user.UserName, + UserFaceImageName = path, UserFaceImagePath = filePath }; base.AddData(userFace); + return WebResponseContent.Instance.OK(data: filePath); } @@ -212,5 +209,29 @@ } + /// <summary> + /// 浜鸿劯鐧诲叆缁欏墠绔繑鍥炶处鍙峰拰瀵嗙爜 + /// </summary> + /// <param name="ID">鐢ㄦ埛id</param> + /// <returns></returns> + public WebResponseContent ReturnAccount(int ID) + { + var user = _userRepository.QueryData(x => x.User_Id == ID).FirstOrDefault(); + if (user == null) + { + return WebResponseContent.Instance.Error("娌℃湁鎵惧埌璇ョ敤鎴�"); + } + + // 瑙e瘑瀵嗙爜 + string plainPassword = user.UserPwd.DecryptDES(AppSecret.User); + + return new WebResponseContent + { + Status = true, + Data = new { Account = user.UserName, Password = plainPassword } + }; + } + + } } -- Gitblit v1.9.3