From e2aab518eddae165b9a7c517fbaddaf692ac4070 Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期二, 10 九月 2019 18:49:05 +0800
Subject: [PATCH] merge labelFilter

---
 insertdata/insertDataToEs.go |  184 +++++++++++++++++++++++++++------------------
 1 files changed, 111 insertions(+), 73 deletions(-)

diff --git a/insertdata/insertDataToEs.go b/insertdata/insertDataToEs.go
index 07614d8..ffdb4d4 100644
--- a/insertdata/insertDataToEs.go
+++ b/insertdata/insertDataToEs.go
@@ -9,7 +9,6 @@
 	"net"
 	"ruleprocess/cache"
 	"ruleprocess/logger"
-	"strings"
 	"time"
 
 	"basic.com/pubsub/protomsg.git"
@@ -77,7 +76,7 @@
 	IsAckAlarm      int                    `json:"isAckAlarm"`
 	IsCollect       int                    `json:"isCollect"`
 	IsDelete        int                    `json:"isDelete"`
-	BaseInfo        []*ruleserver.BaseInfo `json:"baseInfo"`
+	BaseInfo        []*structure.BaseInfo `json:"baseInfo"`
 }
 
 //  yolo琛屼负鐨勬暟鎹粨鏋�
@@ -116,8 +115,8 @@
 
 // 涓�涓猣ace瀵瑰涓鍒欑粍鐨勫綊缃汉鑴哥殑缁撴瀯浣�
 type FaceAndRules struct {
-	ruleserver.Arg
-	rules []ruleserver.Result
+	structure.Arg
+	rules []structure.Result
 }
 
 // 寰�ES鎻掓暟鎹�
@@ -144,7 +143,7 @@
 //	//	ChangeStatusYolo(msg)
 //	//}
 //}
-func InsertToEs(msg ruleserver.ResultMsg) {
+func InsertToEs(msg structure.ResultMsg) {
 	InsertFace(msg, "")
 	// 濡傛灉鏍囩涓惈鏈夋寔缁椂闂撮娆℃姤璀︾殑timeLabel鐨勮瘽鍒欎笉闇�瑕佽繃浜轰綋杩借釜锛屼笉鐒跺氨娌$殑鎻掑叆浜�
 	fk := ruleserver.TrackOrNot(msg.RuleResult)
@@ -163,8 +162,8 @@
 }
 
 // 寰�es涓彃鍏ヤ汉鑴告暟鎹�
-func InsertFace(msg ruleserver.ResultMsg, linkId string) {
-	if msg.RuleResult["face"] != nil && len(msg.RuleResult["face"].([]ruleserver.FaceResult)) > 0 {
+func InsertFace(msg structure.ResultMsg, linkId string) {
+	if msg.RuleResult["face"] != nil && len(msg.RuleResult["face"].([]structure.FaceResult)) > 0 {
 		logger.Info("寰�ES鎻掍汉鑴告暟鎹�")
 		faces := []*FaceAndRules{}
 		faces = PutFace(faces,msg)
@@ -205,7 +204,7 @@
 				if err != nil {
 					logger.Error("涓婁紶灏忓浘鍑洪敊")
 				}
-				logger.Info("================灏忓浘鍦板潃:", resp["fileUrl"].(string))
+				//logger.Info("================灏忓浘鍦板潃:", resp["fileUrl"].(string))
 				sex := ""
 				if face.ThftRes.Gender == 1 {
 					sex = "鐢�"
@@ -224,7 +223,7 @@
 					msg.Cid,
 					camera.Addr,
 					i.Timestamp,
-					strings.Split(bigPhotoUrl["fileUrl"].(string), "/")[1],
+					bigPhotoUrl["fileUrl"].(string),
 					msg.Tasklab.Taskid,
 					msg.Tasklab.Taskname,
 					"浜鸿劯",
@@ -238,7 +237,7 @@
 					face.ThftRes.Smile,
 					face.ThftRes.Beauty,
 					base64.StdEncoding.EncodeToString(face.Feature),
-					[]string{strings.Split(resp["fileUrl"].(string), "/")[1]},
+					[]string{resp["fileUrl"].(string)},
 					"鏆傛棤闆嗙兢",
 					localConfig.ServerId,
 					localConfig.ServerName,
@@ -272,9 +271,9 @@
 }
 
 // 褰掔疆浜鸿劯
-func PutFace(faces []*FaceAndRules,msg ruleserver.ResultMsg)[]*FaceAndRules{
-	if msg.RuleResult["face"] != nil && len(msg.RuleResult["face"].([]ruleserver.FaceResult)) > 0 {
-		for _, faceResult := range msg.RuleResult["face"].([]ruleserver.FaceResult) {
+func PutFace(faces []*FaceAndRules,msg structure.ResultMsg)[]*FaceAndRules{
+	if msg.RuleResult["face"] != nil && len(msg.RuleResult["face"].([]structure.FaceResult)) > 0 {
+		for _, faceResult := range msg.RuleResult["face"].([]structure.FaceResult) {
 			faces = hebingFace(faces, faceResult)
 		}
 		return faces
@@ -282,7 +281,7 @@
 		return nil
 	}
 }
-func hebingFace(faces []*FaceAndRules, faceResult ruleserver.FaceResult) []*FaceAndRules{
+func hebingFace(faces []*FaceAndRules, faceResult structure.FaceResult) []*FaceAndRules{
 	for _, arg := range faceResult.Args {
 		// 鎷垮埌姣忎竴寮犱汉鑴�
 		logger.Info("褰掔疆浜鸿劯鏃剁浉浼艰�呯殑鏁伴噺锛�",len(arg.Liker))
@@ -310,18 +309,18 @@
 			}
 		}
 		if !flag {
-			faces = append(faces, &FaceAndRules{arg, []ruleserver.Result{faceResult.Result}})
+			faces = append(faces, &FaceAndRules{arg, []structure.Result{faceResult.Result}})
 		}
 	}
 	return faces
 }
 
 // 寰�es涓彃鍏olo鏁版嵁
-func InsertYolo(msg ruleserver.ResultMsg, linkId string) {
-	if msg.RuleResult["yolo"] != nil && len(msg.RuleResult["yolo"].([]ruleserver.Result)) > 0 {
+func InsertYolo(msg structure.ResultMsg, linkId string) {
+	if msg.RuleResult["yolo"] != nil && len(msg.RuleResult["yolo"].([]structure.Result)) > 0 {
 		// 鍏堝垽鏂竴涓嬫暟鎹甫鐨勮鍒欐爣绛炬槸鍚︽湁鍙互鎻掑叆鐨�
 		flag := false
-		for _, res := range msg.RuleResult["yolo"].([]ruleserver.Result) {
+		for _, res := range msg.RuleResult["yolo"].([]structure.Result) {
 			//logger.Info("瀹氭椂鍣ㄦ墦鐨勬暟瀛楁爣绛撅細",res.Others.TimeLabel)
 			if res.Others.TimeLabel == "01" || res.Others.TimeLabel == "10" {
 				flag = true
@@ -332,7 +331,7 @@
 			var sdkNames string = ""
 			alarmRules := []AlarmRule{}
 			url := []string{}
-			for _, yoloResult := range msg.RuleResult["yolo"].([]ruleserver.Result) {
+			for _, yoloResult := range msg.RuleResult["yolo"].([]structure.Result) {
 				if yoloResult.Others.TimeLabel == "01" || yoloResult.Others.TimeLabel == "10" {
 					// 鎷煎嚭sdkname
 					//logger.Info("搴旇杩涙潵鎵嶅鐨�")
@@ -356,19 +355,19 @@
 							}
 							i := protomsg.Image{}
 							err = proto.Unmarshal(bdata, &i)
-							resp1, err1 := util.DrawPolygonOnImage(msg1.Cid, i, msg1.RuleResult["yolo"].([]ruleserver.Result), weedfsUrl)
+							resp1, err1 := util.DrawPolygonOnImage(msg1.Cid, i, msg1.RuleResult["yolo"].([]structure.Result), weedfsUrl)
 							if err1 != nil {
 								logger.Error("缂撳瓨鏁版嵁鐢绘鎴栦笂浼犲浘鐗囨湇鍔″櫒鍑洪敊", err)
 							} else {
 								logger.Info("涓婁紶鐨勫浘鐗囦俊鎭細", resp1)
 							}
-							url = append(url, strings.Split(resp1["fileUrl"].(string), "/")[1])
+							url = append(url, resp1["fileUrl"].(string))
 						}
 					}
 				}
 			}
 			linkFlag := false
-			for _, yoloResult := range msg.RuleResult["yolo"].([]ruleserver.Result) {
+			for _, yoloResult := range msg.RuleResult["yolo"].([]structure.Result) {
 				if (yoloResult.Others.TimeLabel == "01" || yoloResult.Others.TimeLabel == "10") && yoloResult.Others.LinkCache != nil && len(yoloResult.Others.LinkCache) > 1 {
 					linkId := uuid.NewV4().String()
 					for _, msg2 := range yoloResult.Others.LinkCache {
@@ -397,9 +396,10 @@
 			if len(alarmRules) > 0 {
 				isAlarm = 1
 				//resp, err = util.PostFormBufferData(weedfsUrl, i, uuid.NewV4().String())
-				resp, err = util.DrawPolygonOnImage(msg.Cid, i, msg.RuleResult["yolo"].([]ruleserver.Result), weedfsUrl)
+				resp, err = util.DrawPolygonOnImage(msg.Cid, i, msg.RuleResult["yolo"].([]structure.Result), weedfsUrl)
 				if err != nil {
 					logger.Error("鐢绘鎴栦笂浼犲浘鐗囨湇鍔″櫒鍑洪敊", err)
+					return
 				} else {
 					logger.Info("涓婁紶鐨勫浘鐗囦俊鎭細", resp)
 				}
@@ -420,59 +420,97 @@
 				logger.Error("鏌ヨ鎽勫儚鏈轰俊鎭け璐�")
 			}
 			serverIp, err := GetLocalIP()
+			if resp["fileUrl"] != nil {
+				url = append(url, resp["fileUrl"].(string))
+				esDataId := uuid.NewV4().String()
+				linksId := ""
+				if linkId != "" {
+					linksId = linkId
+				}
+				peraction := Personaction{
+					esDataId,
+					msg.Cid,
+					camera.Name,
+					camera.Addr,
+					msg.Tasklab.Taskid,
+					msg.Tasklab.Taskname,
+					sdkNames,
+					"",
+					alarmRules,
+					localConfig.ServerId,
+					localConfig.ServerName,
+					serverIp,
+					"",
+					url,
+					i.Timestamp,
+					linksId,
+					"",
+					isAlarm,
+					0,
+					0,
+					0,
+				}
+				requstbody, err := json.Marshal(peraction)
 
-			url = append(url, strings.Split(resp["fileUrl"].(string), "/")[1])
-			esDataId := uuid.NewV4().String()
-			linksId := ""
-			if linkId != "" {
-				linksId = linkId
-			}
-			peraction := Personaction{
-				esDataId,
-				msg.Cid,
-				camera.Name,
-				camera.Addr,
-				msg.Tasklab.Taskid,
-				msg.Tasklab.Taskname,
-				sdkNames,
-				"",
-				alarmRules,
-				localConfig.ServerId,
-				localConfig.ServerName,
-				serverIp,
-				"",
-				url,
-				i.Timestamp,
-				linksId,
-				"",
-				isAlarm,
-				0,
-				0,
-				0,
-			}
-			requstbody, err := json.Marshal(peraction)
+//<<<<<<< HEAD
+//			url = append(url, resp["fileUrl"].(string))
+//			esDataId := uuid.NewV4().String()
+//			linksId := ""
+//			if linkId != "" {
+//				linksId = linkId
+//			}
+//			peraction := Personaction{
+//				esDataId,
+//				msg.Cid,
+//				camera.Name,
+//				camera.Addr,
+//				msg.Tasklab.Taskid,
+//				msg.Tasklab.Taskname,
+//				sdkNames,
+//				"",
+//				alarmRules,
+//				localConfig.ServerId,
+//				localConfig.ServerName,
+//				serverIp,
+//				"",
+//				url,
+//				i.Timestamp,
+//				linksId,
+//				"",
+//				isAlarm,
+//				0,
+//				0,
+//				0,
+//			}
+//			requstbody, err := json.Marshal(peraction)
+//
+//			if err != nil {
+//				logger.Info("json parse error ", err)
+//				return
+//=======
+				if err != nil {
+					logger.Info("json parse error ", err)
+					return
+//>>>>>>> labelFilter
 
-			if err != nil {
-				logger.Info("json parse error ", err)
-				return
-
-			}
-			resp1, err2 := EsReq("POST", personAction, requstbody)
-			if err2 != nil {
-				logger.Error("寰�ES鎻掑叆鏁版嵁澶辫触", err)
-			} else {
-				logger.Debug("鎻掑叆es杩斿洖鐨勬暟鎹俊鎭槸锛�", resp1)
-				// 鍙戝嚭褰曞儚淇″彿
-				ruleserver.AddLxMessage(&protomsg.VideotapeInfo{EsDataId: esDataId, CameraId: msg.Cid, TaskId: msg.Tasklab.Taskid, ImgId: i.Id, SdkIds: []string{}, Type: 2})
-				logger.Warn("__________________________________________寰�ES鎻掑叆yolo鏁版嵁鎴愬姛")
-				//os.Exit(1)
+				}
+				resp1, err2 := EsReq("POST", personAction, requstbody)
+				if err2 != nil {
+					logger.Error("寰�ES鎻掑叆鏁版嵁澶辫触", err)
+				} else {
+					logger.Debug("鎻掑叆es杩斿洖鐨勬暟鎹俊鎭槸锛�", resp1)
+					// 鍙戝嚭褰曞儚淇″彿
+					ruleserver.AddLxMessage(&protomsg.VideotapeInfo{EsDataId: esDataId, CameraId: msg.Cid, TaskId: msg.Tasklab.Taskid, ImgId: i.Id, SdkIds: []string{}, Type: 2})
+					logger.Warn("__________________________________________寰�ES鎻掑叆yolo鏁版嵁鎴愬姛")
+					//os.Exit(1)
+				}
 			}
 		} else {
 			logger.Debug("timeLabel鏉′欢閮戒笉绗﹀悎锛�")
 		}
 	}
 }
-func ChangeStatusYolo(msg ruleserver.ResultMsg) {
+func ChangeStatusYolo(msg structure.ResultMsg) {
 	logger.Info("寰�ES鎻抷olo闈炴姤璀︾姸鎬佹敼鍙樻暟鎹�")
 	var sdkNames string = ""
 	alarmRules := []AlarmRule{}
@@ -483,7 +521,7 @@
 	i := protomsg.Image{}
 	err = proto.Unmarshal(bdata, &i)
 	//resp, err = util.PostFormBufferData(weedfsUrl, i, uuid.NewV4().String())
-	resp, err := util.DrawPolygonOnImage(msg.Cid, i, msg.RuleResult["yolo"].([]ruleserver.Result), weedfsUrl)
+	resp, err := util.DrawPolygonOnImage(msg.Cid, i, msg.RuleResult["yolo"].([]structure.Result), weedfsUrl)
 	if err != nil {
 		logger.Error("鐢绘鎴栦笂浼犲浘鐗囨湇鍔″櫒鍑洪敊", err)
 	} else {
@@ -516,7 +554,7 @@
 		localConfig.ServerName,
 		serverIp,
 		"",
-		[]string{strings.Split(resp["fileUrl"].(string), "/")[1]},
+		[]string{resp["fileUrl"].(string)},
 		i.Timestamp,
 		"",
 		"",
@@ -543,7 +581,7 @@
 		//os.Exit(1)
 	}
 }
-func ChangeStatusFace(msg ruleserver.ResultMsg) {
+func ChangeStatusFace(msg structure.ResultMsg) {
 	logger.Info("寰�ES鎻掑叆浜鸿劯闈炴姤璀︿絾鏄姸鎬佽浆鎹㈡暟鎹�")
 	// 涓婁紶澶у浘
 	// 瑙e帇缂╁苟涓婁紶鍥剧墖
@@ -574,7 +612,7 @@
 		msg.Cid,
 		camera.Addr,
 		i.Timestamp,
-		strings.Split(bigPhotoUrl["fileUrl"].(string), "/")[1],
+		bigPhotoUrl["fileUrl"].(string),
 		msg.Tasklab.Taskid,
 		msg.Tasklab.Taskname,
 		"浜鸿劯",
@@ -600,7 +638,7 @@
 		0,
 		0,
 		0,
-		[]*ruleserver.BaseInfo{},
+		[]*structure.BaseInfo{},
 	}
 	requstbody, err := json.Marshal(pervideo)
 

--
Gitblit v1.8.0