public List <User> FuzzyFindUserByName(String userName) { // Mysql MysqlUtils mysqlUtils = new MysqlUtils(); return(mysqlUtils.FuzzyFindUserByName("张进")); }
/// <summary> /// 提取人脸特征 /// </summary> /// <param name="pEngine">引擎Handle</param> /// <param name="imageInfo">图像数据</param> /// <param name="multiFaceInfo">人脸检测结果</param> /// <returns>保存人脸特征结构体指针</returns> public static IntPtr ExtractFeature(IntPtr pEngine, ImageInfo imageInfo, ASF_MultiFaceInfo multiFaceInfo, out ASF_SingleFaceInfo singleFaceInfo) { singleFaceInfo = new ASF_SingleFaceInfo(); singleFaceInfo.faceRect = MemoryUtil.PtrToStructure <MRECT>(multiFaceInfo.faceRects); singleFaceInfo.faceOrient = MemoryUtil.PtrToStructure <int>(multiFaceInfo.faceOrients); IntPtr pSingleFaceInfo = MemoryUtil.Malloc(MemoryUtil.SizeOf <ASF_SingleFaceInfo>()); // 申请内存,单人脸检测结构体 MemoryUtil.StructureToPtr(singleFaceInfo, pSingleFaceInfo); // 结构体进入内存 IntPtr pFaceFeature = MemoryUtil.Malloc(MemoryUtil.SizeOf <ASF_FaceFeature>()); // 申请内存,人脸特征结构体 int retCode = ASFFunctions.ASFFaceFeatureExtract(pEngine, imageInfo.width, imageInfo.height, imageInfo.format, imageInfo.imgData, pSingleFaceInfo, pFaceFeature); // 单人脸特征提取 Console.WriteLine("FR Extract Feature result:" + retCode); // 直接打印结果 if (retCode != 0) // 返回结果非0,即匹配到人脸,释放指针 { // 释放指针 MemoryUtil.Free(pSingleFaceInfo); // 释放单人脸检测结构体指针 MemoryUtil.Free(pFaceFeature); // 释放人脸特征结构体指针 ASF_FaceFeature emptyFeature = new ASF_FaceFeature(); // 声明空人脸特征结构体 IntPtr pEmptyFeature = MemoryUtil.Malloc(MemoryUtil.SizeOf <ASF_FaceFeature>()); // 声明空人脸特征结构体指针 MemoryUtil.StructureToPtr(emptyFeature, pEmptyFeature); // 将数据从托管对象封送到非托管内存块 return(pEmptyFeature); // 匹配成功,返回空的人脸特征结构体指针 } // 人脸特征feature过滤 ASF_FaceFeature faceFeature = MemoryUtil.PtrToStructure <ASF_FaceFeature>(pFaceFeature);// 将ptr托管的内存转化为结构体对象 int cc = faceFeature.featureSize; var ff = faceFeature.feature; byte[] feature = new byte[faceFeature.featureSize]; MemoryUtil.Copy(faceFeature.feature, feature, 0, faceFeature.featureSize);// source, destination, startIndex, length ASF_FaceFeature localFeature = new ASF_FaceFeature(); localFeature.feature = MemoryUtil.Malloc(feature.Length); // 申请本地人脸特征指针 MemoryUtil.Copy(feature, 0, localFeature.feature, feature.Length); // source, startIndex, destination, length localFeature.featureSize = feature.Length; // 设置本地特征值长度 IntPtr pLocalFeature = MemoryUtil.Malloc(MemoryUtil.SizeOf <ASF_FaceFeature>()); // 申请本地特征值指针空间 MemoryUtil.StructureToPtr(localFeature, pLocalFeature); // T t,IntPtr ptr // 释放指针 MemoryUtil.Free(pSingleFaceInfo); MemoryUtil.Free(pFaceFeature); /******** 特征值feature存入数据库 start **********/ Users users = new Users(); users.Id = SidUtils.sid(); users.Feature = feature; MysqlUtils mysqlUtils = new MysqlUtils(); mysqlUtils.InsertUserFaceFeature(users); /******** 特征值feature存入数据库 end **********/ return(pLocalFeature);// 返回人脸特征 }
public static RegisterInfo init(String sWhichChannel) { RegisterInfo registerInfo = new RegisterInfo(); if (MysqlUtils.OpenConnection() == true) { } switch (sWhichChannel) { case "城市高清网": registerInfo.serverName = "192.168.138.45"; registerInfo.databaseName = ""; registerInfo.databaseType = 00000001; registerInfo.userName = "******"; registerInfo.password = "******"; break; case "生活高清网": registerInfo.serverName = "192.168.138.140"; registerInfo.databaseName = ""; registerInfo.databaseType = 00000001; registerInfo.userName = "******"; registerInfo.password = "******"; break; case "测试数据库": registerInfo.serverName = "178.20.10.85"; registerInfo.databaseName = "Net2Dynetmanage2019"; registerInfo.databaseType = 00000001; registerInfo.userName = "******"; registerInfo.password = "******"; break; default: break; } return(registerInfo); }
static void ConnecttimeWarning(object source, System.Timers.ElapsedEventArgs e) { System.Timers.Timer pp = (System.Timers.Timer)source; pp.Enabled = false; string[] _strgame = GetConnect().Split(",".ToCharArray()); for (int m = 0; m < _strgame.Length; m++) { int game_id = int.Parse(_strgame[m]); #region 电话列表 string str_sendsql = "SELECT Mobile_Phone FROM SMS_Mobile WHERE Mobile_Game =" + game_id; MSSQLOperate pSms = new MSSQLOperate(strAnalyse); pSms.Connect(false); pSms.ExecuteQuery(str_sendsql); pSms.GetResult(RecordStyle.DATASET); DataSet psDataSet = (DataSet)pSms.RecordData; #endregion string str_sql = "SELECT Server_Internet,Access_User,Access_Pwd,Server_DBtype,Game_Name,Server_Name FROM Game_Server,Server_Access,Info_Game WHERE Server_DBtype <> 127 AND Server_Game = " + game_id + " AND Access_Server = Server_ID AND Game_ID=Server_Game AND Access_Sort = 14"; MSSQLOperate pConnect = new MSSQLOperate(strAnalyse); pConnect.Connect(false); pConnect.ExecuteQuery(str_sql); pConnect.GetResult(RecordStyle.DATASET); DataSet pDataSet = (DataSet)pConnect.RecordData; if (pConnect.AffectRow > 0) { for (int i = 0; i < pDataSet.Tables[0].Rows.Count; i++) { bool pResult = true; string str_user = System.Text.Encoding.UTF8.GetString(Declassified.Decrypt(System.Convert.FromBase64String(pDataSet.Tables[0].Rows[i][1].ToString()), System.Text.Encoding.UTF8.GetBytes("1234567890abcdef"))); string str_pwd = System.Text.Encoding.UTF8.GetString(Declassified.Decrypt(System.Convert.FromBase64String(pDataSet.Tables[0].Rows[i][2].ToString()), System.Text.Encoding.UTF8.GetBytes("1234567890abcdef"))); if ("2" == pDataSet.Tables[0].Rows[i][3].ToString())// { #region SQL SERVER string str_conncet = "Connect Timeout=300000;Server=" + pDataSet.Tables[0].Rows[i][0].ToString() + ";Database=master;uid=" + str_user + "; pwd=" + str_pwd; MSSQLOperate pSqlConnect = new MSSQLOperate(str_conncet); try { if (!pSqlConnect.Connect(false)) { //连接失败 pResult = false; } } catch (Exception ex) { //连接失败 pResult = false; } #endregion } else if ("3" == pDataSet.Tables[0].Rows[i][3].ToString())// { #region MYSQL string str_conncet = "Connect Timeout=300000;Server=" + pDataSet.Tables[0].Rows[i][0].ToString() + ";uid=" + str_user + "; pwd=" + str_pwd; MysqlUtils pMysqlConnect = new MysqlUtils(str_conncet); try { if (!pMysqlConnect.Connected()) { //连接失败 pResult = false; } } catch (Exception ex) { //连接失败 pResult = false; } #endregion } #region 发送短信 if (!pResult)//连接失败,发送短信 { if (pSms.AffectRow > 0) { for (int j = 0; j < pSms.AffectRow; j++) { try { WebSMS pWebSMSSend = new WebSMS(); string str_send = "游戏‘" + pDataSet.Tables[0].Rows[i][4].ToString() + "’,服务器‘" + pDataSet.Tables[0].Rows[i][5].ToString() + "’连接失败"; byte[] pResultBuffer = pWebSMSSend.sendSMS(psDataSet.Tables[0].Rows[j][0].ToString(), str_send); int iResult = Encoding.Default.GetString(pResultBuffer) == "OK" ? 1 : 0; } catch { } } } } #endregion } } } pp.Enabled = true; }
/// <summary> /// 精确获取多频道配置信息 /// </summary> /// <param name="channelName">频道名称</param> /// <returns></returns> public static ChannelInfo QueryChannel(string channelName) { MysqlUtils mysqlUtils = new MysqlUtils(); return(mysqlUtils.PreciseQueryChannel(channelName)); }
/// <summary> /// 批量获取多频道配置信息 /// </summary> /// <returns></returns> public static List <ChannelInfo> QueryChannels() { MysqlUtils mysqlUtils = new MysqlUtils(); return(mysqlUtils.QueryChannels()); }
/// <summary> /// 将新频道手动输入到人脸识别附属数据库 /// </summary> /// <param name="channelInfo"></param> public void AddChannel(ChannelInfo channelInfo) { MysqlUtils mysqlUtils = new MysqlUtils(); mysqlUtils.InsertTVCreateDBInfoToFaceRecoDB(channelInfo); }