From f4e8f206a6760bdc31734dfcb1c65916b5b76311 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期四, 22 八月 2019 12:05:58 +0800
Subject: [PATCH] add cluster

---
 service/FaceCompareService.go |   71 +++++++++++++++++++++++------------
 1 files changed, 47 insertions(+), 24 deletions(-)

diff --git a/service/FaceCompareService.go b/service/FaceCompareService.go
index 0ff7969..04d5040 100644
--- a/service/FaceCompareService.go
+++ b/service/FaceCompareService.go
@@ -27,19 +27,19 @@
 
 type CompareOnce struct {
 	CompareNum string `json:"compareOnce"`
-	CompareData *CompareResultSort `json:"compareData"`
+	CompareData *CompareList `json:"compareData"`
 }
 
-type CompareResultSort []*protomsg.SdkCompareEach
+type CompareList []*protomsg.SdkCompareEach
 
-func (crw CompareResultSort) Len()int {
-	return len(crw)
+func (s CompareList) Len()int {
+	return len(s)
 }
-func (crw CompareResultSort) Swap(i,j int) {
-	crw[i],crw[j] = crw[j],crw[i]
+func (s CompareList) Swap(i,j int) {
+	s[i],s[j] = s[j],s[i]
 }
-func (crw CompareResultSort) Less(i,j int) bool{//闄嶅簭鎺掑簭
-	return crw[i].CompareScore > crw[j].CompareScore
+func (s CompareList) Less(i,j int) bool{//闄嶅簭鎺掑簭
+	return s[i].CompareScore > s[j].CompareScore
 }
 
 var compResultHisM = make(map[string]*CompareOnce,0)
@@ -63,21 +63,22 @@
 
 var CaptureTable = "capturetable" // 鎶撴媿搴�
 
-func (sv *FaceCompareService) Compare() *CompareOnce{
+func (sv *FaceCompareService) CompareVideoPersons() *CompareList{
+	sv.CompareArgs.TableIds = []string { CaptureTable }
 	b, err := proto.Marshal(&sv.CompareArgs)
-	compServerList := config.CompServerInfo.Url
-	logger.Debug("compServerList:", compServerList)
-	//1.鍚戝悇涓猚ompare杩涚▼鍙戣捣璇锋眰鎷垮埌姣斿缁撴灉
-	var resultList CompareResultSort
-	//resultList :=make([]*protomsg.SdkCompareEach,0)
-	for _,str :=range compServerList{
+	esCompServerList := config.EsCompServerInfo.Url
+	logger.Debug("compServerList:", esCompServerList)
+	//1.鍚戝悇涓狤s compare杩涚▼鍙戣捣璇锋眰鎷垮埌姣斿缁撴灉
+	var resultList CompareList
+
+	for _,str :=range esCompServerList{
 		reqUrl := "tcp://"+str
 		resultB := doCompareRequest(reqUrl,b)
 		if resultB == nil || len(*resultB) ==0 {
 			continue
 		}
 		var sdkCompResult protomsg.SdkCompareResult
-		//rList :=make([]protomsg.Esinfo,0)
+
 		err = proto.Unmarshal(*resultB, &sdkCompResult)
 		if err !=nil {
 			logger.Debug("comp sdkCompareResult unmarshal err:", err)
@@ -87,19 +88,41 @@
 		logger.Debug("comp len(rList):", len(sdkCompResult.CompareResult))
 		if len(sdkCompResult.CompareResult) >0 {
 			resultList = append(resultList, sdkCompResult.CompareResult...)
-			//resultList = append(resultList, FillDataToCompareResult(&sdkCompResult)...)
 		}
 	}
 	logger.Debug("comp totalList.len:", len(resultList))
 
-	//2.缂撳瓨姣斿缁撴灉
-	co := &CompareOnce{
-		CompareNum: sv.CompareNum,
-		CompareData: &resultList,
-	}
-	SetCompResultByNum(co)
+	return &resultList
+}
 
-	return co
+//姣斿搴曞簱
+func (sv *FaceCompareService) CompareDbPersons() *CompareList{
+	b, err := proto.Marshal(&sv.CompareArgs)
+	dbPersonCompServerUrl := config.DbPersonCompInfo.Url
+	logger.Debug("comp Server url:", dbPersonCompServerUrl)
+
+	var resultList CompareList
+
+	reqUrl := "tcp://"+dbPersonCompServerUrl
+	resultB := doCompareRequest(reqUrl,b)
+	if resultB == nil || len(*resultB) ==0 {
+		return nil
+	}
+	var sdkCompResult protomsg.SdkCompareResult
+	err = proto.Unmarshal(*resultB, &sdkCompResult)
+	if err !=nil {
+		logger.Debug("comp sdkCompareResult unmarshal err:", err)
+		return nil
+	}
+
+	logger.Debug("comp len(rList):", len(sdkCompResult.CompareResult))
+	if len(sdkCompResult.CompareResult) >0 {
+		resultList = append(resultList, sdkCompResult.CompareResult...)
+	}
+
+	logger.Debug("comp totalList.len:", len(resultList))
+
+	return &resultList
 }
 
 func doCompareRequest(url string,args []byte) *[]byte{

--
Gitblit v1.8.0