From 88ba80947433ea88b66ba19bc10a7b28bca38bb4 Mon Sep 17 00:00:00 2001 From: liuxiaolong <736321739@qq.com> Date: 星期一, 28 十月 2019 18:49:14 +0800 Subject: [PATCH] add dbpersonIds scope when searchByPhoto twice --- controllers/fileController.go | 51 ++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 38 insertions(+), 13 deletions(-) diff --git a/controllers/fileController.go b/controllers/fileController.go index 3b6c238..8820970 100644 --- a/controllers/fileController.go +++ b/controllers/fileController.go @@ -533,9 +533,10 @@ var hasCompEsPerson = false if searchBody.DataBases !=nil { - for _,tableId :=range searchBody.DataBases { + for idx,tableId :=range searchBody.DataBases { if tableId == "esData" { hasCompEsPerson = true + searchBody.DataBases = append(searchBody.DataBases[:idx], searchBody.DataBases[idx+1:]...) break } } @@ -578,29 +579,53 @@ return m } } + } else {//搴曞簱鏁版嵁鐨勪簩娆℃绱� + var dbpApi dbapi.DbPersonApi + personIds, _ := dbpApi.FindLikePersonIds(searchBody.DataBases, searchBody.InputValue) + logger.Debug("searchPhoto first Result.len:",len(*co.CompareData),"twice len(personIds):",len(personIds)) + if personIds !=nil && len(personIds)>0 { + var aResult protomsg.SdkCompareResult + aList := getTwiceSearchResult(co, &personIds) + aTotal := aList.Len() + if aTotal <= to { + aResult.CompareResult = (*aList)[from:aTotal] + } else { + aResult.CompareResult = (*aList)[from:to] + } + out := FillDataToCompareResult(&aResult) + m["total"] = aTotal + m["compareNum"] = searchBody.CompareNum + m["totalList"] = out + return m + } else { + m["total"] = 0 + m["compareNum"] = searchBody.CompareNum + m["totalList"] = []interface{}{} + return m + } } - var sCompResult protomsg.SdkCompareResult - total := len(*co.CompareData) - if total <= to { - sCompResult.CompareResult = (*co.CompareData)[from:total] - } else { - sCompResult.CompareResult = (*co.CompareData)[from:to] - } - resultList := FillDataToCompareResult(&sCompResult) + //var sCompResult protomsg.SdkCompareResult + //total := len(*co.CompareData) + //if total <= to { + // sCompResult.CompareResult = (*co.CompareData)[from:total] + //} else { + // sCompResult.CompareResult = (*co.CompareData)[from:to] + //} + //resultList := FillDataToCompareResult(&sCompResult) - m["total"] = total + m["total"] = 0 m["compareNum"] = searchBody.CompareNum - m["totalList"] = resultList + m["totalList"] = []interface{}{} return m } -func getTwiceSearchResult(co *service.CompareOnce, captureIds *[]string) *service.CompareList{ +func getTwiceSearchResult(co *service.CompareOnce, scopeIds *[]string) *service.CompareList{ m := make(map[string]string) - for _,capId :=range *captureIds { + for _,capId :=range *scopeIds { m[capId] = capId } var totalData service.CompareList -- Gitblit v1.8.0