From 5b6c78545cbb565380aa9b1f68bc26e747314206 Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期二, 17 十二月 2019 10:48:36 +0800
Subject: [PATCH] 过滤目标’

---
 algorithm/personTrack/personTrack.go   |   20 ++++++++++++--------
 algorithm/middleware/insertDataToEs.go |   14 ++++++--------
 2 files changed, 18 insertions(+), 16 deletions(-)

diff --git a/algorithm/middleware/insertDataToEs.go b/algorithm/middleware/insertDataToEs.go
index 67cb823..9fc5b0b 100644
--- a/algorithm/middleware/insertDataToEs.go
+++ b/algorithm/middleware/insertDataToEs.go
@@ -178,7 +178,6 @@
 				targetInfos = append(targetInfos, *target)
 
 				sdkname := ""
-				id := face.Uuid
 				switch key {
 				case "face":
 					sdkname = "浜鸿劯"
@@ -186,17 +185,11 @@
 					sdkname = "杞︾墝璇嗗埆"
 				case "track":
 					sdkname = "璺熻釜"
-					logger.Info("鏁版嵁鍒颁簡姝ゅ")
-					if len(face.Liker) == 1{
-						id = face.Liker[0].TargetId
-					}
 				}
 				//logger.Info("浜鸿劯鐩爣target:",targetInfos)
-
-
 				if key == "track" && len(face.Liker) == 1{
 					pervideo1 := LinkInfo{
-						id,
+						face.Liker[0].TargetId,
 						msg.Cid,
 						msg.Push.Cam.Addr,
 						msg.Push.Cam.Name,
@@ -239,6 +232,11 @@
 						ruleserver.AddLxMessage(&protomsg.VideotapeInfo{EsDataId: face.Uuid, CameraId: msg.Cid, TaskId: msg.Tasklab.Taskid, VideoUrl: msg.Push.VideoUrl, ImgId: i.Id, SdkIds: []string{"-1"}, Type: 1})
 					}
 				} else {
+					id := face.Uuid
+					if id == "" {
+						// 姣斿埌浜嗙浉浼肩殑浜轰絾鍦ㄦ鎽勫儚鏈轰笅宸茬粡鍑虹幇杩囷紝鏈�鍚庝笉鑳芥彃鍏ユ暟鎹簱
+						return
+					}
 					pervideo := PerVideoPicture{LinkInfo{
 						id,
 						msg.Cid,
diff --git a/algorithm/personTrack/personTrack.go b/algorithm/personTrack/personTrack.go
index 1f6f578..6c3cb86 100644
--- a/algorithm/personTrack/personTrack.go
+++ b/algorithm/personTrack/personTrack.go
@@ -19,7 +19,7 @@
 )
 
 var sender chan []byte = make(chan []byte)
-var receiver chan string = make(chan string)
+var receiver chan map[string]interface{} = make(chan map[string]interface{})
 
 var sock mangos.Socket
 func Init() {
@@ -104,13 +104,15 @@
 	if err != nil {
 		logger.Error("json搴忓垪鍖栭敊璇�", err)
 	}
-	dataId := getCompareMsg(b)
-	if esId == dataId || dataId == ""{ // 璇存槑娌℃瘮鍒扮浉浼肩殑浜�
+	result := getCompareMsg(b)
+	if esId == result["esId"].(string) || result["esId"].(string) == ""{ // 璇存槑娌℃瘮鍒扮浉浼肩殑浜�,鏄柊浜�
 		logger.Info("娌℃瘮鍒颁汉")
 		arg.Uuid = esId
-	} else {
-		logger.Info("姣斿鍑烘潵鐨刣ataId:",dataId)
-		base := structure.BaseInfo{TargetId:dataId}
+	} else if result["esId"].(string) != esId && result["compare"].(bool){ // 姣斿埌浜嗙浉浼肩殑浜轰笖鍦ㄦ鎽勫儚鏈轰笅宸茬粡鍑虹幇杩囷紝鏈�鍚庝笉鑳芥彃鍏ユ暟鎹簱
+		logger.Info("姣斿鍑烘潵鐨刣ataId:",result["esId"].(string))
+		arg.Uuid = ""
+	} else if result["esId"].(string) != esId && !result["compare"].(bool) { // 姣斿埌浜嗙浉浼肩殑浜轰絾鍦ㄦ鎽勫儚鏈轰笅鏈嚭鐜拌繃锛岃鎻掑叆鏁版嵁搴�
+		base := structure.BaseInfo{TargetId:result["esId"].(string)}
 		arg.Liker = append(arg.Liker, &base)
 	}
 }
@@ -178,14 +180,16 @@
 				logger.Error("鎺ユ敹鍝嶅簲澶辫触: %s", err.Error())
 			}
 			logger.Debug("鏁版嵁鎺ㄩ�佹垚鍔燂紒鏀跺埌鍝嶅簲,鏁版嵁闀垮害涓猴細",len(msg))
-			receiver <- string(msg)
+			recive := make(map[string]interface{})
+			_ = json.Unmarshal(msg,&recive)
+			receiver <- recive
 		default:
 			time.Sleep(time.Millisecond * 10)
 		}
 	}
 }
 
-func getCompareMsg(data []byte) string{
+func getCompareMsg(data []byte) map[string]interface{}{
 	sender <- data
 	return <- receiver
 }

--
Gitblit v1.8.0