From 114ffafeeb20ef7066cb2e2882bb58b96f791ab5 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期一, 20 十月 2025 11:33:11 +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