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 ++++++++++++++++++++++++++++++++++++++-------------
 go.sum                        |    4 ++--
 go.mod                        |    2 +-
 3 files changed, 41 insertions(+), 16 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
diff --git a/go.mod b/go.mod
index 1f67da2..226c60f 100644
--- a/go.mod
+++ b/go.mod
@@ -3,7 +3,7 @@
 go 1.12
 
 require (
-	basic.com/dbapi.git v0.0.0-20191025084729-a04db890e7b5 // indirect
+	basic.com/dbapi.git v0.0.0-20191028103813-b5aadb41f6cf // indirect
 	basic.com/fileServer/WeedFSClient.git v0.0.0-20190919054037-0182b6c3f5cb // indirect
 	basic.com/pubsub/cache.git v0.0.0-20190718093725-6a413e1d7d48 // indirect
 	basic.com/pubsub/esutil.git v0.0.0-20191028063723-48ec2fe37b09 // indirect
diff --git a/go.sum b/go.sum
index 1ce8bcb..0450ce9 100644
--- a/go.sum
+++ b/go.sum
@@ -1,5 +1,5 @@
-basic.com/dbapi.git v0.0.0-20191025084729-a04db890e7b5 h1:OcZOgjBXfzhI1Ukxblacxu5xwKl448ADYyulJ02zdb8=
-basic.com/dbapi.git v0.0.0-20191025084729-a04db890e7b5/go.mod h1:eDXPnxaz6jZPDvBSk7ya7oSASWPCuUEgRTJCjsfKt/Q=
+basic.com/dbapi.git v0.0.0-20191028103813-b5aadb41f6cf h1:J2xUolBqEaZ9BrK5U0uwMcRlouMmMk88tNl/d+cUUYc=
+basic.com/dbapi.git v0.0.0-20191028103813-b5aadb41f6cf/go.mod h1:eDXPnxaz6jZPDvBSk7ya7oSASWPCuUEgRTJCjsfKt/Q=
 basic.com/fileServer/WeedFSClient.git v0.0.0-20190919054037-0182b6c3f5cb h1:fM6DojeInFSCFO+wkba1jtyPiSDqw0jYKi4Tk+e+ka4=
 basic.com/fileServer/WeedFSClient.git v0.0.0-20190919054037-0182b6c3f5cb/go.mod h1:FTryK8BsVLfUplx8a3+l8hJWub6VbAWZCUH7sPRZaso=
 basic.com/pubsub/cache.git v0.0.0-20190718093725-6a413e1d7d48 h1:BBA30Rgljn6MRieC4gUncETJDyna3ObyubTo9HEQ2M0=

--
Gitblit v1.8.0