private string verifySignatureCode(XmlDocument doc) { var signatureCode = doc.GetNodeText("signatureCode"); var threshold = doc.GetNodeText("threshold").ToFloat(); var size = doc.GetNodeText("size").ToInt32(); var validtime = doc.GetNodeText("validTime").ToInt32(); print("signatureCode->" + signatureCode); print("threshold->" + threshold); print("size->" + size); print("validtime->" + validtime); print("match tag"); var tagNodes = doc.GetSelecteNodes("tags/tag"); List <string> tags = new List <string>(); foreach (XmlNode tag in tagNodes) { print("tag->" + tag.InnerText); tags.Add(tag.InnerText); } var result = fs.Search(group, signatureCode, size, "", false, null); var filterResult = GetfilterID(result, threshold); var filterfaceID = filterResult.Select(s => s.faceId).ToArray(); Pagequery page = new Pagequery() { Offset = 0, Pagesize = size, }; //查询数据库 var persons = db.Search1VN(page, filterfaceID, tags.ToArray(), validtime); var sb = new StringBuilder(); sb.Append("xml".ElementBegin()); sb.Append("code".ElementText("0")); sb.Append("totalCount".ElementText(persons.Count().ToString())); sb.Append("persons".ElementBegin()); foreach (var p in persons) { sb.Append("person".ElementBegin()); sb.Append("similarity".ElementText(Getsimilarity(p.FaceID, filterResult).ToString())); sb.Append("faceId".ElementText(p.FaceID)); sb.Append("uuid".ElementText(p.UUID)); sb.Append("code".ElementText(p.Code)); sb.Append("name".ElementText(p.Name)); sb.Append("description".ElementImage(p.Description)); sb.Append("tags".ElementBegin()); var personTags = db.GetPersonTags(p.FaceID); foreach (var tag in personTags) { sb.Append("tag".ElementText(tag)); } sb.Append("tags".ElementEnd()); sb.Append("imgData1".ElementImage(FileManager.ReadFile(p.ImageData1))); sb.Append("imgData2".ElementImage(FileManager.ReadFile(p.ImageData2))); sb.Append("imgData3".ElementImage(FileManager.ReadFile(p.ImageData3))); sb.Append("person".ElementEnd()); } sb.Append("persons".ElementEnd()); sb.Append("xml".ElementEnd()); var data = sb.ToString(); ToKB(data); return(data); }
private string queryPersons(XmlDocument doc) { var id = doc.GetNodeText("id"); var uuid = doc.GetNodeText("uuid"); var code = doc.GetNodeText("code"); print("id->" + id); print("uuid->" + uuid); print("code->" + code); print("人物标签"); List <string> tags = new List <string>(); var tagNodes = doc.GetSelecteNodes("tags/tag"); foreach (XmlNode tag in tagNodes) { print("tag->" + tag.InnerText); tags.Add(tag.InnerText); } var offset = doc.GetNodeText("offset"); var size = doc.GetNodeText("size"); print("offset->" + offset); print("size->" + size); Pagequery page = new Pagequery { Offset = offset.ToInt32(), Pagesize = size.ToInt32(), }; var persons = db.Search(page, id, uuid, code, tags.ToArray()); var count = page.TotalCount.ToString(); print("match record:" + count); var sb = new StringBuilder(); sb.Append("xml".ElementBegin()); sb.Append("code".ElementText("0")); sb.Append("totalCount".ElementText(count)); sb.Append("persons".ElementBegin()); foreach (var p in persons) { sb.Append("person".ElementBegin()); sb.Append("faceId".ElementText(p.FaceID)); sb.Append("uuid".ElementText(p.UUID)); sb.Append("code".ElementText(p.Code)); sb.Append("name".ElementText(p.Name)); sb.Append("description".ElementImage(p.Description)); sb.Append("imgData1".ElementImage(FileManager.ReadFile(p.ImageData1))); sb.Append("hasSignatureCode1".ElementText(hasSignaturecode(p.ImageData1))); sb.Append("imgData2".ElementImage(FileManager.ReadFile(p.ImageData2))); sb.Append("hasSignatureCode2".ElementText(hasSignaturecode(p.ImageData2))); sb.Append("imgData3".ElementImage(FileManager.ReadFile(p.ImageData3))); sb.Append("hasSignatureCode3".ElementText(hasSignaturecode(p.ImageData3))); sb.Append("person".ElementEnd()); } sb.Append("persons".ElementEnd()); sb.Append("xml".ElementEnd()); var data = sb.ToString(); ToKB(data); return(data); }