You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
245 lines
20 KiB
245 lines
20 KiB
using FangYar.BLL;
|
|
using HardWareInteface.Common;
|
|
using Newtonsoft.Json;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Threading;
|
|
using System.Web;
|
|
|
|
namespace HardWareInteface.Handle
|
|
{
|
|
public class DataInfo
|
|
{
|
|
public string deviceip { get; set; }
|
|
public string confidence { get; set; }
|
|
public string deviceidentify { get; set; }
|
|
public string name { get; set; }
|
|
public string cmdtype { get; set; }
|
|
public string gender { get; set; }
|
|
public string age { get; set; }
|
|
public string datetime { get; set; }
|
|
public string alarmtype { get; set; }
|
|
public string picurl { get; set; }
|
|
}
|
|
/// <summary>
|
|
/// 的摘要说明
|
|
/// </summary>
|
|
public class SHZ_Facerec : IHttpHandler
|
|
{
|
|
FangYar.BLL.TBL_PERSONACCESS bll = new FangYar.BLL.TBL_PERSONACCESS();
|
|
FangYar.BLL.TBL_VISITOR vis_bll = new FangYar.BLL.TBL_VISITOR();
|
|
FangYar.BLL.TBL.SysEmpBLL emp_bll = new FangYar.BLL.TBL.SysEmpBLL();
|
|
public void ProcessRequest(HttpContext context)
|
|
{
|
|
context.Response.ContentType = "text/plain";
|
|
string returnStr = "";
|
|
|
|
returnStr = ReceiveAlarmInfoPlate(context);
|
|
context.Response.Write(returnStr);
|
|
}
|
|
private string ReceiveAlarmInfoPlate(HttpContext context)
|
|
{
|
|
WriteLog("进入!");
|
|
HttpRequest request = context.Request;
|
|
Stream stream = request.InputStream;
|
|
string response = string.Empty;
|
|
if (stream.Length != 0)
|
|
{
|
|
try
|
|
{
|
|
new Thread(() =>
|
|
{ //新线程执行
|
|
string data = string.Empty;
|
|
StreamReader streamReader = new StreamReader(stream);
|
|
data = streamReader.ReadToEnd();
|
|
|
|
//data = "{\"deviceip\": \"192.168.0.209\", \"confidence\": 95, \"deviceidentify\": \"IvkG3tZW\", \"name\": \"\u8042\u6e90\", \"cmdtype\": 10009, \"gender\": 0, \"age\": 0, \"datetime\": \"2021-11-16 15:44:00\", \"alarmtype\": \"white list\", \"picurl\": \"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\"}";
|
|
//data = "{\"deviceip\": \"192.168.0.209\", \"confidence\": 95, \"deviceidentify\": \"IvkG3tZW\", \"name\": \"聂源_15628593792\", \"cmdtype\": 10009, \"gender\": 0, \"age\": 0, \"datetime\": \"2021-11-16 15:44:00\", \"alarmtype\": \"white list\", \"picurl\": \"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\"}";
|
|
|
|
|
|
|
|
WriteLog(data.ToString());
|
|
|
|
DataInfo dataInfoModel = new DataInfo();
|
|
dataInfoModel = JsonConvert.DeserializeObject<DataInfo>(data);
|
|
|
|
if (dataInfoModel != null)
|
|
{
|
|
FangYar.Model.OA.OA_FACERECOGNITION facrecmodel = new FangYar.Model.OA.OA_FACERECOGNITION();
|
|
facrecmodel.ID = Guid.NewGuid().ToString("N");
|
|
|
|
facrecmodel.DEVICEIP = dataInfoModel.deviceip; //设备IP地址
|
|
|
|
facrecmodel.CONFIDENCE = int.Parse(dataInfoModel.confidence); //人脸识别率,整型
|
|
|
|
facrecmodel.DEVICEIDENTIFY = dataInfoModel.deviceidentify; //抓拍摄像头设备唯一标识
|
|
|
|
facrecmodel.NAME = dataInfoModel.name; //人员姓名
|
|
|
|
facrecmodel.CMDTYPE = dataInfoModel.cmdtype; //暂时未知
|
|
|
|
facrecmodel.GENDER = int.Parse(dataInfoModel.gender); //性别 0:男1:女
|
|
|
|
facrecmodel.AGE = int.Parse(dataInfoModel.age);//年龄
|
|
|
|
facrecmodel.DATETIME = DateTime.Parse(dataInfoModel.datetime);//时间 2021-11-09 15:44:00
|
|
|
|
facrecmodel.ALARMTYPE = dataInfoModel.alarmtype;//人员识别的类型 *****要一下类型 WHITE LIST白名单
|
|
|
|
string DicKey = dataInfoModel.deviceidentify + "_" + dataInfoModel.name;
|
|
//判断键存在
|
|
if (FaceRecCache.dic.ContainsKey(DicKey)) // True
|
|
{
|
|
if (FaceRecCache.dic[DicKey].ChangeTime) //需要更新
|
|
{
|
|
string str = dataInfoModel.picurl.Replace('-', '+').Replace('_', '/').Replace('.', '='); //图片
|
|
string dummyData = str.Trim().Replace("%", "").Replace(",", "").Replace(" ", "+");
|
|
if (dummyData.Length % 4 > 0)
|
|
{
|
|
dummyData = dummyData.PadRight(dummyData.Length + 4 - dummyData.Length % 4, '=');
|
|
}
|
|
byte[] byteArray = Convert.FromBase64String(dummyData);
|
|
|
|
facrecmodel.PICURL = GetFilePath(byteArray); //赋值图片路径
|
|
|
|
FaceRecCache.dic[DicKey].PicUrl = facrecmodel.PICURL;
|
|
}
|
|
else
|
|
{
|
|
facrecmodel.PICURL = FaceRecCache.dic[DicKey].PicUrl;
|
|
}
|
|
}
|
|
else
|
|
{ //不存在键值对
|
|
string str = dataInfoModel.picurl.Replace('-', '+').Replace('_', '/').Replace('.', '='); //图片
|
|
string dummyData = str.Trim().Replace("%", "").Replace(",", "").Replace(" ", "+");
|
|
if (dummyData.Length % 4 > 0)
|
|
{
|
|
dummyData = dummyData.PadRight(dummyData.Length + 4 - dummyData.Length % 4, '=');
|
|
}
|
|
byte[] byteArray = Convert.FromBase64String(dummyData);
|
|
|
|
facrecmodel.PICURL = GetFilePath(byteArray); //赋值图片路径
|
|
|
|
FaceRecCache.dic.Add(DicKey, new FaceRecCacheModel() { updtm = DateTime.Now, PicUrl = facrecmodel.PICURL });
|
|
|
|
}
|
|
|
|
facrecmodel.INSERTTIME = DateTime.Now; //插入时间
|
|
facrecmodel.ORG_ID = "021933cc9b11441c920a431eeffe60c2";
|
|
|
|
if (dataInfoModel.name.IndexOf("_") > -1)
|
|
{
|
|
string[] infos = dataInfoModel.name.Split('_');
|
|
facrecmodel.EMPNAME = infos[0];
|
|
facrecmodel.EMPUID = infos[1];
|
|
}
|
|
else
|
|
{
|
|
FangYar.Model.TBL.TBL_SYS_EMP_Model empmodel = emp_bll.GetModelByName(facrecmodel.ORG_ID, dataInfoModel.name);
|
|
facrecmodel.EMPNAME = dataInfoModel.name;
|
|
facrecmodel.EMPUID = empmodel.USERS_UID;
|
|
}
|
|
|
|
|
|
FangYar.BLL.OA.OA_FACERECOGNITION facrecbll = new FangYar.BLL.OA.OA_FACERECOGNITION();
|
|
bool flag = facrecbll.Add(facrecmodel);
|
|
WriteLog("添加是否成功:" + flag);
|
|
}
|
|
|
|
}).Start();
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
WriteLog(e.Message);
|
|
WriteLog(e.StackTrace);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
WriteLog("输入流的长度为0!");
|
|
}
|
|
return "true";
|
|
}
|
|
|
|
private static object objpic = new object();
|
|
/// <summary>
|
|
/// base转图片保存到服务器
|
|
/// </summary>
|
|
/// <param name="msg"></param>
|
|
private string GetFilePath(byte[] bytes)
|
|
{
|
|
lock (objpic)
|
|
{
|
|
string fileName = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString();//年月
|
|
string ImageFilePath = "/Attachment" + "/FaceRec/SHZ/" + DateTime.Now.Year.ToString() + "/" + DateTime.Now.Month.ToString();
|
|
//图片保存地址
|
|
string imgSavePath = System.Configuration.ConfigurationManager.AppSettings["imgSavePath"] + "";
|
|
|
|
if (HttpContext.Current != null) //web应用程序 单线程
|
|
{
|
|
if (System.IO.Directory.Exists(HttpContext.Current.Server.MapPath(ImageFilePath)) == false)//如果不存在就创建文件夹
|
|
{
|
|
System.IO.Directory.CreateDirectory(HttpContext.Current.Server.MapPath(ImageFilePath));
|
|
}
|
|
}
|
|
else //非web程序引用 多线程
|
|
{
|
|
ImageFilePath = ImageFilePath.Replace("/", "\\");
|
|
|
|
string filePath = imgSavePath + ImageFilePath;
|
|
|
|
if (System.IO.Directory.Exists(filePath) == false)//如果不存在就创建文件夹
|
|
{
|
|
System.IO.Directory.CreateDirectory(filePath);
|
|
}
|
|
}
|
|
string ImagePath;
|
|
string str = System.DateTime.Now.ToString("yyyyHHddHHmmss") + Guid.NewGuid().ToString();
|
|
ImagePath = imgSavePath + ImageFilePath + "/" + str;//定义图片名称
|
|
File.WriteAllBytes(ImagePath + ".png", bytes); //保存图片到服务器,然后获取路径
|
|
return ImageFilePath + "/" + str + ".png";//获取保存后的路径
|
|
}
|
|
}
|
|
|
|
private static object objlog = new object();
|
|
private void WriteLog(string msg)
|
|
{
|
|
FangYar.Common.MyLogHelper.WriteMsg(new FangYar.Common.LogInfoMo() { message = msg, msgType = FangYar.Common.EnumLogMsgTypeEnum.Error, path = "SHZFace" });
|
|
//lock (objlog)
|
|
//{
|
|
// string path = AppDomain.CurrentDomain.BaseDirectory + "log\\SHZFace\\";
|
|
// string filename = DateTime.Now.ToString("yyyyMMdd") + ".txt";
|
|
|
|
// if (Directory.Exists(path) == false)//如果不存在就创建文件夹
|
|
// {
|
|
// Directory.CreateDirectory(path);
|
|
// }
|
|
// FileInfo file = new FileInfo(path + filename);
|
|
// if (!file.Exists)
|
|
// {
|
|
// FileStream fs;
|
|
// fs = File.Create(path + filename);
|
|
// fs.Close();
|
|
// }
|
|
|
|
// using (FileStream fs = new FileStream(path + filename, FileMode.Append, FileAccess.Write))
|
|
// {
|
|
// using (StreamWriter sw = new StreamWriter(fs))
|
|
// {
|
|
// sw.WriteLine("时间:" + DateTime.Now.ToString() + " 信息:" + msg);
|
|
// }
|
|
// }
|
|
//}
|
|
}
|
|
public bool IsReusable
|
|
{
|
|
get
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|