From 3ff1af612ee690063dceb5aa9a6e9791e6d9a943 Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期二, 17 十二月 2019 11:41:15 +0800
Subject: [PATCH] ---

---
 algorithm/middleware/insertDataToEs.go |  200 ++++++++++++++++++++++++-------------------------
 1 files changed, 99 insertions(+), 101 deletions(-)

diff --git a/algorithm/middleware/insertDataToEs.go b/algorithm/middleware/insertDataToEs.go
index 8ef4ffb..ada5a3e 100644
--- a/algorithm/middleware/insertDataToEs.go
+++ b/algorithm/middleware/insertDataToEs.go
@@ -137,110 +137,109 @@
 			var imgMaxUrl []string = []string{}
 			var picTime string = ""
 			for _, face := range faces {
-				// 涓婁紶澶у浘
-				// 瑙e帇缂╁苟涓婁紶鍥剧墖
-				bdata, err := util.UnCompress(msg.Data)
-				if err != nil {
-					panic("瑙e帇缂╁浘鐗囨椂鍑虹幇閿欒")
-				}
-				alarmRules := []AlarmRule{}
-				//logger.Info("寰幆姣忎竴涓洰鏍�")
-				for _, faceResult := range face.rules {
-					alarm := ChangeToString(faceResult.DefenceState, faceResult.AlarmLevel)
-					alarmRules = append(alarmRules, AlarmRule{faceResult.RuleGroupId, alarm, faceResult.RuleText, faceResult.DefenceState, ""})
-				}
-				i := protomsg.Image{}
-				err = proto.Unmarshal(bdata, &i)
-				// 鍏堜紶灏忓浘锛屽啀浼犲ぇ鍥撅紝闃叉鑴镐笂鏈夌嚎
-				bytes := util.SubImg(i, int(face.Location.X), int(face.Location.Y), int(face.Location.X+face.Location.Width), int(face.Location.Y+face.Location.Height),face.Type)
-				resp, err := util.PostFormBufferData1(weedfsUrl, bytes, uuid.NewV4().String())
-				if err != nil {
-					logger.Error("涓婁紶灏忓浘鍑洪敊")
-				}
-				// 涓婁紶澶у浘
-				if len(imgMaxUrl) == 0 {
-					bigPhotoUrl := make(map[string]interface{})
-					bigPhotoUrl, err = util.DrawPolygonOnImageForFace(msg.Cid, i, msg.RuleResult["face"].([]structure.Result), weedfsUrl)
-					logger.Debug("========澶у浘璺緞锛�", bigPhotoUrl)
-					imgMaxUrl = append(imgMaxUrl, bigPhotoUrl["fileUrl"].(string))
-					picTime = i.Timestamp
-				}
-				lable, lableAttach := Feature2Jsonstr(*face)
-				var target = new(Target)
-				target.TargetId = face.Id
-				target.TargetScore = face.Score
-				target.TargetType = face.Type
-				target.Feature = face.Feature
-				target.PicSmUrl = resp["fileUrl"].(string)
-				target.TargetLocation = Points{TopLeft: Point{face.Location.X, face.Location.Y}, BottomRight: Point{face.Location.X + face.Location.Width, face.Location.Y + face.Location.Height}}
-				target.AttachTarget = SourceTarget{face.AttachArg.Id,face.AttachArg.Score,face.AttachArg.Type,face.AttachArg.Feature,"",Points{TopLeft: Point{face.AttachArg.Location.X, face.AttachArg.Location.Y}, BottomRight: Point{face.AttachArg.Location.X + face.AttachArg.Location.Width, face.AttachArg.Location.Y + face.AttachArg.Location.Height}}}
-				var targetInfos []Target
-				targetInfos = append(targetInfos, *target)
-
-				sdkname := ""
-				switch key {
-				case "face":
-					sdkname = "浜鸿劯"
-				case "plate":
-					sdkname = "杞︾墝璇嗗埆"
-				case "track":
-					sdkname = "璺熻釜"
-				}
-				//logger.Info("浜鸿劯鐩爣target:",targetInfos)
-				if key == "track" && len(face.Liker) == 1{
-					logger.Info("纭杩囩溂绁炴槸瑕佽拷鍔犵殑鏁版嵁")
-					pervideo1 := LinkInfo{
-						face.Liker[0].TargetId,
-						msg.Cid,
-						msg.Push.Cam.Addr,
-						msg.Push.Cam.Name,
-						picTime,
-						imgMaxUrl,
-						msg.Tasklab.Taskid,
-						msg.Tasklab.Taskname,
-						sdkname,
-						"",
-						alarmRules,
-						time.Now().Format("2006-01-02 15:04:05"), // 鍙娴嬶紝娌℃湁姣斿鏃堕棿
-						lable,
-						lableAttach,
-						"",
-						msg.Push.ServerId,
-						msg.Push.ServerName,
-						msg.Push.LocalIp,
-						"",
-						true,
-						false,
-						false,
-						false,
-						face.Liker,
-						targetInfos,
-					}
-					requstbody, err := json.Marshal(pervideo1)
-
-					if err != nil {
-						logger.Info("json parse error ", err)
-						return
-					}
-					esid := face.Liker[0].TargetId
-					logger.Info("liker淇℃伅锛�",*face.Liker[0])
-					returnMsg, err1 := esutil.AppendTargetInfo(esid, string(requstbody),structure.EsInfo.EsIndex.AIOcean.IndexName,serverIp,serverPort)
-					if err1 != nil {
-						logger.Error("杩藉姞鏁版嵁鍑洪敊锛�---", err1)
-					} else {
-						logger.Info("鎻掑叆es杩斿洖鐨勪俊鎭細", returnMsg)
-						// 鍙戝嚭褰曞儚淇″彿
-						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})
-					}
+				if face.Uuid == "" {
+					// 姣斿埌浜嗙浉浼肩殑浜轰絾鍦ㄦ鎽勫儚鏈轰笅宸茬粡鍑虹幇杩囷紝鏈�鍚庝笉鑳芥彃鍏ユ暟鎹簱
+					logger.Info("鍐椾綑鏁版嵁锛屽苟涓嶅叆搴�")
 				} else {
-					id := face.Uuid
-					if id == "" {
-						// 姣斿埌浜嗙浉浼肩殑浜轰絾鍦ㄦ鎽勫儚鏈轰笅宸茬粡鍑虹幇杩囷紝鏈�鍚庝笉鑳芥彃鍏ユ暟鎹簱
-						logger.Info("鍐椾綑鏁版嵁锛屽苟涓嶅叆搴�")
+					// 涓婁紶澶у浘
+					// 瑙e帇缂╁苟涓婁紶鍥剧墖
+					bdata, err := util.UnCompress(msg.Data)
+					if err != nil {
+						panic("瑙e帇缂╁浘鐗囨椂鍑虹幇閿欒")
+					}
+					alarmRules := []AlarmRule{}
+					//logger.Info("寰幆姣忎竴涓洰鏍�")
+					for _, faceResult := range face.rules {
+						alarm := ChangeToString(faceResult.DefenceState, faceResult.AlarmLevel)
+						alarmRules = append(alarmRules, AlarmRule{faceResult.RuleGroupId, alarm, faceResult.RuleText, faceResult.DefenceState, ""})
+					}
+					i := protomsg.Image{}
+					err = proto.Unmarshal(bdata, &i)
+					// 鍏堜紶灏忓浘锛屽啀浼犲ぇ鍥撅紝闃叉鑴镐笂鏈夌嚎
+					bytes := util.SubImg(i, int(face.Location.X), int(face.Location.Y), int(face.Location.X+face.Location.Width), int(face.Location.Y+face.Location.Height),face.Type)
+					resp, err := util.PostFormBufferData1(weedfsUrl, bytes, uuid.NewV4().String())
+					if err != nil {
+						logger.Error("涓婁紶灏忓浘鍑洪敊")
+					}
+					// 涓婁紶澶у浘
+					if len(imgMaxUrl) == 0 {
+						bigPhotoUrl := make(map[string]interface{})
+						bigPhotoUrl, err = util.DrawPolygonOnImageForFace(msg.Cid, i, msg.RuleResult["face"].([]structure.Result), weedfsUrl)
+						logger.Debug("========澶у浘璺緞锛�", bigPhotoUrl)
+						imgMaxUrl = append(imgMaxUrl, bigPhotoUrl["fileUrl"].(string))
+						picTime = i.Timestamp
+					}
+					lable, lableAttach := Feature2Jsonstr(*face)
+					var target = new(Target)
+					target.TargetId = face.Id
+					target.TargetScore = face.Score
+					target.TargetType = face.Type
+					target.Feature = face.Feature
+					target.PicSmUrl = resp["fileUrl"].(string)
+					target.TargetLocation = Points{TopLeft: Point{face.Location.X, face.Location.Y}, BottomRight: Point{face.Location.X + face.Location.Width, face.Location.Y + face.Location.Height}}
+					target.AttachTarget = SourceTarget{face.AttachArg.Id,face.AttachArg.Score,face.AttachArg.Type,face.AttachArg.Feature,"",Points{TopLeft: Point{face.AttachArg.Location.X, face.AttachArg.Location.Y}, BottomRight: Point{face.AttachArg.Location.X + face.AttachArg.Location.Width, face.AttachArg.Location.Y + face.AttachArg.Location.Height}}}
+					var targetInfos []Target
+					targetInfos = append(targetInfos, *target)
+
+					sdkname := ""
+					switch key {
+					case "face":
+						sdkname = "浜鸿劯"
+					case "plate":
+						sdkname = "杞︾墝璇嗗埆"
+					case "track":
+						sdkname = "璺熻釜"
+					}
+					//logger.Info("浜鸿劯鐩爣target:",targetInfos)
+					if key == "track" && len(face.Liker) == 1{
+						logger.Info("纭杩囩溂绁炴槸瑕佽拷鍔犵殑鏁版嵁")
+						pervideo1 := LinkInfo{
+							face.Liker[0].TargetId,
+							msg.Cid,
+							msg.Push.Cam.Addr,
+							msg.Push.Cam.Name,
+							picTime,
+							imgMaxUrl,
+							msg.Tasklab.Taskid,
+							msg.Tasklab.Taskname,
+							sdkname,
+							"",
+							alarmRules,
+							time.Now().Format("2006-01-02 15:04:05"), // 鍙娴嬶紝娌℃湁姣斿鏃堕棿
+							lable,
+							lableAttach,
+							"",
+							msg.Push.ServerId,
+							msg.Push.ServerName,
+							msg.Push.LocalIp,
+							"",
+							true,
+							false,
+							false,
+							false,
+							face.Liker,
+							targetInfos,
+						}
+						requstbody, err := json.Marshal(pervideo1)
+
+						if err != nil {
+							logger.Info("json parse error ", err)
+							return
+						}
+						esid := face.Liker[0].TargetId
+						logger.Info("liker淇℃伅锛�",*face.Liker[0])
+						returnMsg, err1 := esutil.AppendTargetInfo(esid, string(requstbody),structure.EsInfo.EsIndex.AIOcean.IndexName,serverIp,serverPort)
+						if err1 != nil {
+							logger.Error("杩藉姞鏁版嵁鍑洪敊锛�---", err1)
+						} else {
+							logger.Info("鎻掑叆es杩斿洖鐨勪俊鎭細", returnMsg)
+							// 鍙戝嚭褰曞儚淇″彿
+							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 {
 						logger.Info("鏂板鏁版嵁")
 						pervideo := PerVideoPicture{LinkInfo{
-							id,
+							face.Uuid,
 							msg.Cid,
 							msg.Push.Cam.Addr,
 							msg.Push.Cam.Name,
@@ -287,7 +286,6 @@
 				}
 			}
 		}
-
 }
 
 // 褰掔疆浜鸿劯

--
Gitblit v1.8.0