From 0ad8c150817dca075c587f1c2f7b44c407fd1364 Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期三, 24 七月 2019 13:42:40 +0800
Subject: [PATCH] 变更人脸标签结构

---
 insertdata/insertDataToEs.go |  166 ++++++++++++++++++++++++++++---------------------------
 ruleserver/ruleToformula.go  |    5 +
 2 files changed, 87 insertions(+), 84 deletions(-)

diff --git a/insertdata/insertDataToEs.go b/insertdata/insertDataToEs.go
index 28ccb80..651fd81 100644
--- a/insertdata/insertDataToEs.go
+++ b/insertdata/insertDataToEs.go
@@ -132,90 +132,92 @@
 
 // 寰�es涓彃鍏ヤ汉鑴告暟鎹�
 func InsertFace(msg ruleserver.ResultMsg) {
-	if msg.RuleResult["face"] != nil && len(msg.RuleResult["face"].([]ruleserver.Arg)) > 0 {
+	if msg.RuleResult["face"] != nil && len(msg.RuleResult["face"].([]ruleserver.FaceResult)) > 0 {
 		logger.Info("寰�ES鎻掍汉鑴告暟鎹�")
-		for _, face := range msg.RuleResult["face"].([]ruleserver.Arg) {
-			// 涓婁紶澶у浘
-			// 瑙e帇缂╁苟涓婁紶鍥剧墖
-			bdata, err := util.UnCompress(msg.Data)
-			if err != nil {
-				panic("瑙e帇缂╁浘鐗囨椂鍑虹幇閿欒")
-			}
-			i := protomsg.Image{}
-			err = proto.Unmarshal(bdata, &i)
-			bigPhotoUrl := make(map[string]interface{})
-			bigPhotoUrl, err = util.PostFormBufferData(weedfsUrl, i, uuid.NewV4().String())
-			logger.Debug("========澶у浘璺緞锛�", bigPhotoUrl)
-			// 浜鸿劯妫�娴嬶紝娌℃湁鐩镐技鐨勫簳搴撲汉鍛�
-			localConfig, err := cache.GetServerInfo()
-			if err != nil {
-				logger.Error("鏌ヨ鏈満淇℃伅澶辫触锛�")
-			}
-			serverIp, err := GetLocalIP()
-			// 鏌ヨcameraName
-			camera, err := cache.GetCameraById(msg.Cid)
-			if err != nil {
-				logger.Error("鏌ヨ鎽勫儚鏈轰俊鎭け璐�")
-			}
-			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))
-			resp, err := util.PostFormBufferData1(weedfsUrl, bytes, uuid.NewV4().String())
-			if err != nil {
-				logger.Error("涓婁紶灏忓浘鍑洪敊")
-			}
-			logger.Info("================灏忓浘鍦板潃:", resp["fileUrl"].(string))
-			sex := ""
-			if face.ThftRes.Gender == 1 {
-				sex = "鐢�"
-			} else {
-				sex = "濂�"
-			}
-			race := getRaceString(face.ThftRes.Race)
-			ageDescription := getDescription(face.ThftRes.Age)
+		for _, faceResult := range msg.RuleResult["face"].([]ruleserver.FaceResult) {
+			for _,face := range faceResult.Args  {
+				// 涓婁紶澶у浘
+				// 瑙e帇缂╁苟涓婁紶鍥剧墖
+				bdata, err := util.UnCompress(msg.Data)
+				if err != nil {
+					panic("瑙e帇缂╁浘鐗囨椂鍑虹幇閿欒")
+				}
+				i := protomsg.Image{}
+				err = proto.Unmarshal(bdata, &i)
+				bigPhotoUrl := make(map[string]interface{})
+				bigPhotoUrl, err = util.PostFormBufferData(weedfsUrl, i, uuid.NewV4().String())
+				logger.Debug("========澶у浘璺緞锛�", bigPhotoUrl)
+				// 浜鸿劯妫�娴嬶紝娌℃湁鐩镐技鐨勫簳搴撲汉鍛�
+				localConfig, err := cache.GetServerInfo()
+				if err != nil {
+					logger.Error("鏌ヨ鏈満淇℃伅澶辫触锛�")
+				}
+				serverIp, err := GetLocalIP()
+				// 鏌ヨcameraName
+				camera, err := cache.GetCameraById(msg.Cid)
+				if err != nil {
+					logger.Error("鏌ヨ鎽勫儚鏈轰俊鎭け璐�")
+				}
+				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))
+				resp, err := util.PostFormBufferData1(weedfsUrl, bytes, uuid.NewV4().String())
+				if err != nil {
+					logger.Error("涓婁紶灏忓浘鍑洪敊")
+				}
+				logger.Info("================灏忓浘鍦板潃:", resp["fileUrl"].(string))
+				sex := ""
+				if face.ThftRes.Gender == 1 {
+					sex = "鐢�"
+				} else {
+					sex = "濂�"
+				}
+				race := getRaceString(face.ThftRes.Race)
+				ageDescription := getDescription(face.ThftRes.Age)
 
-			pervideo := PerVideoPicture{
-				uuid.NewV4().String(),
-				msg.Cid,
-				camera.Addr,
-				i.Timestamp,
-				strings.Split(bigPhotoUrl["fileUrl"].(string), "/")[1],
-				msg.Tasklab.Taskid,
-				msg.Tasklab.Taskname,
-				"浜鸿劯",
-				"",
-				time.Now().Format("2006-01-02 15:04:05"), // 鍙娴嬶紝娌℃湁姣斿鏃堕棿
-				sex,
-				face.ThftRes.Age,
-				ageDescription,
-				race,
-				face.ThftRes.Smile,
-				face.ThftRes.Beauty,
-				string(face.Feature),
-				[]string{strings.Split(resp["fileUrl"].(string), "/")[1]},
-				"鏆傛棤闆嗙兢",
-				localConfig.ServerId,
-				localConfig.ServerName,
-				serverIp,
-				"",
-				face.Score,
-				1,
-				0,
-				0,
-				0,
-				face.Liker,
-			}
-			requstbody, err := json.Marshal(pervideo)
+				pervideo := PerVideoPicture{
+					uuid.NewV4().String(),
+					msg.Cid,
+					camera.Addr,
+					i.Timestamp,
+					strings.Split(bigPhotoUrl["fileUrl"].(string), "/")[1],
+					msg.Tasklab.Taskid,
+					msg.Tasklab.Taskname,
+					"浜鸿劯",
+					"",
+					time.Now().Format("2006-01-02 15:04:05"), // 鍙娴嬶紝娌℃湁姣斿鏃堕棿
+					sex,
+					face.ThftRes.Age,
+					ageDescription,
+					race,
+					face.ThftRes.Smile,
+					face.ThftRes.Beauty,
+					string(face.Feature),
+					[]string{strings.Split(resp["fileUrl"].(string), "/")[1]},
+					"鏆傛棤闆嗙兢",
+					localConfig.ServerId,
+					localConfig.ServerName,
+					serverIp,
+					"",
+					face.Score,
+					1,
+					0,
+					0,
+					0,
+					face.Liker,
+				}
+				requstbody, err := json.Marshal(pervideo)
 
-			if err != nil {
-				logger.Info("json parse error ", err)
-				return
-			}
-			resp1, err1 := EsReq("POST", videoPersonUrl, requstbody)
-			if err1 != nil {
-				logger.Error("涓婁紶ES鍑洪敊锛�---", err1)
-			} else {
-				logger.Info("鎻掑叆es杩斿洖鐨勪俊鎭細", resp1)
-				// 鍙戝嚭褰曞儚淇″彿
-				ruleserver.AddLxMessage(&protomsg.VideotapeInfo{EsDataId: resp1["_id"].(string), CameraId: msg.Cid, TaskId: msg.Tasklab.Taskid, ImgId: i.Id, SdkIds: []string{}})
+				if err != nil {
+					logger.Info("json parse error ", err)
+					return
+				}
+				resp1, err1 := EsReq("POST", videoPersonUrl, requstbody)
+				if err1 != nil {
+					logger.Error("涓婁紶ES鍑洪敊锛�---", err1)
+				} else {
+					logger.Info("鎻掑叆es杩斿洖鐨勪俊鎭細", resp1)
+					// 鍙戝嚭褰曞儚淇″彿
+					ruleserver.AddLxMessage(&protomsg.VideotapeInfo{EsDataId: resp1["_id"].(string), CameraId: msg.Cid, TaskId: msg.Tasklab.Taskid, ImgId: i.Id, SdkIds: []string{}})
+				}
 			}
 		}
 	}
@@ -345,7 +347,7 @@
 		if msg.RuleResult["cacheData"] != nil {
 			InsertYolo(msg.RuleResult["cacheData"].(ruleserver.ResultMsg))
 			// 鎶婄紦瀛樼殑鏁版嵁涓婁紶鍚庡緱鍒板湴鍧�瀛樿繘鍘�
-			
+
 		}
 		peraction := Personaction{
 			uuid.NewV4().String(),
diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go
index 3e248c9..2617389 100644
--- a/ruleserver/ruleToformula.go
+++ b/ruleserver/ruleToformula.go
@@ -93,7 +93,7 @@
 // 杩囪鍒欏簱鎵撲笂鐨勬爣绛�
 type FaceResult struct {
 	Result
-	Args         []*Arg
+	Args         []Arg
 }
 type LittleRuleResult struct {
 	SdkName string // 璁板綍涓嬫缁撴灉鏄摢涓猻dk鐨勭粨鏋�
@@ -299,7 +299,8 @@
 				logger.Info("-------------------yolo缁撴灉鏍囩闀垮害", len(args.RuleResult["yolo"].([]Result)))
 			}
 			if args.RuleResult["face"] != nil {
-				logger.Info("-------------------face缁撴灉鏍囩", len(args.RuleResult["face"].([]Arg)))
+				args.RuleResult["face"] = append(args.RuleResult["face"].([]FaceResult), FaceResult{Result{taskId, sdkNames, groupRule.GroupId, groupRule.AlarmLevel, groupRule.GroupText, []Rect{}, polygonId},faces})
+				logger.Info("-------------------face缁撴灉鏍囩", len(args.RuleResult["face"].(FaceResult).Args))
 			}
 			// 鏈�鍚庤繃鎸佺画鏃堕棿绛夋椂闂寸淮搴︾殑鏉′欢   鎶婃椂闂磋鍒欎綅缃皟鏁村埌杩欎釜浣嶇疆鏄负浜嗙紦瀛樻暟鎹�
 			for j := 0; j < len(groupRule.Rules); j++ {

--
Gitblit v1.8.0