From cfeba2dea02c1de54cde6c95f2a3f46c121d34aa Mon Sep 17 00:00:00 2001 From: liuxiaolong <736321739@qq.com> Date: 星期五, 16 八月 2019 15:16:14 +0800 Subject: [PATCH] dev add publicDomain --- controllers/fileController.go | 61 +++++++++++------------------- 1 files changed, 23 insertions(+), 38 deletions(-) diff --git a/controllers/fileController.go b/controllers/fileController.go index 6d3318f..b1b1ba4 100644 --- a/controllers/fileController.go +++ b/controllers/fileController.go @@ -184,33 +184,31 @@ Enable int32 `json:"enable"` } -type CompareSortResult []CompareResult - -func (s CompareSortResult) Len() int{ - return len(s) -} -func (s CompareSortResult) Swap(i,j int){ - s[i],s[j] = s[j],s[i] -} -func (s CompareSortResult) Less(i,j int) bool{ - return s[i].CompareScore > s[j].CompareScore +type ScoreIndex struct { + CompareScore float32 + Index int } //濉厖鍚戝墠绔繑鍥炵殑鏁版嵁 -func FillDataToCompareResult(compResult *protomsg.SdkCompareResult) CompareSortResult { - //resultList :=make([]CompareResult,0) - var resultList = CompareSortResult{} +func FillDataToCompareResult(compResult *protomsg.SdkCompareResult) []CompareResult { - dbPersonM := make(map[string]*protomsg.SdkCompareEach, 0) - captureM := make(map[string]*protomsg.SdkCompareEach, 0) + var resultList = make([]CompareResult, len(compResult.CompareResult)) + dbPersonM := make(map[string]ScoreIndex, 0) + captureM := make(map[string]ScoreIndex, 0) personIds := make([]string,0) captureIds := make([]string,0) - for _,v :=range compResult.CompareResult{ + for idx,v :=range compResult.CompareResult{ if v.Tableid == service.CaptureTable { - captureM[v.Id] = v + captureM[v.Id] = ScoreIndex{ + Index: idx, + CompareScore: v.CompareScore, + } captureIds = append(captureIds,v.Id) } else { - dbPersonM[v.Id] = v + dbPersonM[v.Id] = ScoreIndex{ + Index: idx, + CompareScore: v.CompareScore, + } personIds = append(personIds,v.Id) } } @@ -224,8 +222,7 @@ dbpersons, _ = esApi.Dbpersoninfosbyid(personIds, index, esServerIp, esServerPort) } - logger.Debug("comp dbpersons.len:", len(dbpersons)) - if dbpersons !=nil { + if len(dbpersons) >0 { for _,p :=range dbpersons { var dbP = DbPersonVo { PersonId: p.Id, @@ -244,10 +241,10 @@ dbP.BwType = dbTableInfos[0].BwType dbP.TableName = dbTableInfos[0].TableName } - var cr = CompareResult{ + + resultList[dbPersonM[p.Id].Index] = CompareResult{ BaseInfo:[]DbPersonVo{ dbP }, } - resultList = append(resultList,cr) } } if len(captureIds) >0 { @@ -289,10 +286,9 @@ BaseInfo: bi, SdkName: "浜鸿劯", } - resultList = append(resultList,vpE) + resultList[captureM[vp.Id].Index] = vpE } } - sort.Sort(resultList) return resultList } @@ -327,13 +323,13 @@ } var faceB []byte if searchBody.CaptureId != "" {//鍋氭煡鎵炬浜�,鎼滄墍鏈夋姄鎷嶅拰搴曞簱 - searchPeople, err := esApi.Dbpersoninfosbyid([]string{searchBody.CaptureId}, config.EsInfo.EsIndex.VideoPersons.IndexName, config.EsInfo.Masterip, config.EsInfo.Httpport) + searchBase64Fea, err := esApi.GetVideoPersonFaceFeatureById(searchBody.CaptureId, config.EsInfo.EsIndex.VideoPersons.IndexName, config.EsInfo.Masterip, config.EsInfo.Httpport) if err !=nil { util.ResponseFormat(c, code.ComError, "鎶撴媿鏁版嵁涓嶅瓨鍦紝璇锋鏌�") return } - if searchPeople !=nil && len(searchPeople) == 1{ - decodeF, err := base64.StdEncoding.DecodeString(searchPeople[0].FaceFeature) + if searchBase64Fea !=""{ + decodeF, err := base64.StdEncoding.DecodeString(searchBase64Fea) if err !=nil { util.ResponseFormat(c, code.ComError, "鏈潯鎶撴�曠壒寰佷笉鏄痓ase64锛岃妫�鏌�") return @@ -405,18 +401,7 @@ logger.Debug("comp 姣斿缁撴潫锛岀敤鏃讹細",time.Since(timeStart)) m := make(map[string]interface{},3) if totalData != nil && totalData.Len() > 0{ - //鎸夊垎鍊兼帓搴� - var scorePre []float32 - for _,f1 :=range *totalData { - scorePre = append(scorePre, f1.CompareScore) - } - //logger.Debug("comp 鎺掑簭鍓嶅垎鍊兼暟缁勶細",scorePre) sort.Sort(totalData) - var scoreAf []float32 - for _,f2 :=range *totalData { - scoreAf = append(scoreAf, f2.CompareScore) - } - //logger.Debug("comp 鎺掑簭鍚庡垎鍊兼暟缁勶細",scoreAf) total := totalData.Len() m["compareNum"] = compareOnce.CompareNum -- Gitblit v1.8.0