From 06cfa3a6a024de4c67e9b0ec631e2a2720f76256 Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期五, 16 八月 2019 13:40:27 +0800
Subject: [PATCH] 地址存全路径

---
 insertdata/insertDataToEs.go |   67 ++++++++++++++++++++++-----------
 1 files changed, 45 insertions(+), 22 deletions(-)

diff --git a/insertdata/insertDataToEs.go b/insertdata/insertDataToEs.go
index 86c4bec..30d4117 100644
--- a/insertdata/insertDataToEs.go
+++ b/insertdata/insertDataToEs.go
@@ -7,10 +7,8 @@
 	"fmt"
 	"io/ioutil"
 	"net"
-	"os"
 	"ruleprocess/cache"
 	"ruleprocess/logger"
-	"strings"
 	"time"
 
 	"basic.com/pubsub/protomsg.git"
@@ -111,6 +109,8 @@
 	AlarmLevel   string `json:"alarmLevel"`
 	RuleText     string `json:"ruleText"`
 	DefenceState bool   `json:"defenceState"`
+	IsLink		 bool	`json:"isLink"`
+	LinkInfo	 string `json:"linkInfo"`
 }
 
 // 涓�涓猣ace瀵瑰涓鍒欑粍鐨勫綊缃汉鑴哥殑缁撴瀯浣�
@@ -165,7 +165,9 @@
 func InsertFace(msg ruleserver.ResultMsg, linkId string) {
 	if msg.RuleResult["face"] != nil && len(msg.RuleResult["face"].([]ruleserver.FaceResult)) > 0 {
 		logger.Info("寰�ES鎻掍汉鑴告暟鎹�")
-		faces := PutFace(msg)
+		faces := []*FaceAndRules{}
+		faces = PutFace(faces,msg)
+		//logger.Info("鏁寸悊鍚庣殑鏁版嵁锛�",faces)
 		if faces != nil {
 			for _,face := range faces {
 				// 涓婁紶澶у浘
@@ -175,11 +177,11 @@
 					panic("瑙e帇缂╁浘鐗囨椂鍑虹幇閿欒")
 				}
 				alarmRules := []AlarmRule{}
-				logger.Warn("浜鸿劯鐨勮鍒欓暱搴︿负锛�",len(face.rules))
-				os.Exit(1)
+				logger.Warn("浜鸿劯id涓猴細",face.Id,"浜鸿劯鐨勮鍒欓暱搴︿负锛�",len(face.rules))
+				//os.Exit(1)
 				for _,faceResult := range face.rules {
 					alarm := ChangeToString(faceResult.DefenceState, faceResult.AlarmLevel)
-					alarmRules = append(alarmRules, AlarmRule{faceResult.RuleGroupId, alarm, faceResult.RuleText, faceResult.DefenceState})
+					alarmRules = append(alarmRules, AlarmRule{faceResult.RuleGroupId, alarm, faceResult.RuleText, faceResult.DefenceState,faceResult.IsLink,""})
 				}
 				i := protomsg.Image{}
 				err = proto.Unmarshal(bdata, &i)
@@ -202,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 = "鐢�"
@@ -221,7 +223,7 @@
 					msg.Cid,
 					camera.Addr,
 					i.Timestamp,
-					strings.Split(bigPhotoUrl["fileUrl"].(string), "/")[1],
+					bigPhotoUrl["fileUrl"].(string),
 					msg.Tasklab.Taskid,
 					msg.Tasklab.Taskname,
 					"浜鸿劯",
@@ -235,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,
@@ -269,31 +271,48 @@
 }
 
 // 褰掔疆浜鸿劯
-func PutFace(msg ruleserver.ResultMsg) []FaceAndRules{
+func PutFace(faces []*FaceAndRules,msg ruleserver.ResultMsg)[]*FaceAndRules{
 	if msg.RuleResult["face"] != nil && len(msg.RuleResult["face"].([]ruleserver.FaceResult)) > 0 {
-		logger.Info("鏁寸悊浜鸿劯鏁版嵁")
-		faces := []FaceAndRules{}
 		for _, faceResult := range msg.RuleResult["face"].([]ruleserver.FaceResult) {
-			hebingFace(faces, faceResult)
+			faces = hebingFace(faces, faceResult)
 		}
 		return faces
+	} else {
+		return nil
 	}
-	return nil
 }
-func hebingFace(faces []FaceAndRules, faceResult ruleserver.FaceResult) {
+func hebingFace(faces []*FaceAndRules, faceResult ruleserver.FaceResult) []*FaceAndRules{
 	for _, arg := range faceResult.Args {
 		// 鎷垮埌姣忎竴寮犱汉鑴�
+		logger.Info("褰掔疆浜鸿劯鏃剁浉浼艰�呯殑鏁伴噺锛�",len(arg.Liker))
 		flag := false
 		for _, face := range faces {
+			for _,lik := range face.Liker {
+				logger.Warn("--------鍚堝苟浜鸿劯鏃剁浉浼艰�咃細",lik.PersonId,lik.TableName)
+			}
 			if arg.Id == face.Id {
 				flag = true
 				face.rules = append(face.rules,faceResult.Result)
+				// 鐩镐技鑰呭幓閲嶅綊骞�
+				for _,liker := range arg.Liker {
+					flag1 := true
+					for _,liker1 := range face.Liker {
+						if liker.PersonId == liker1.PersonId {
+							flag1 = false
+						}
+					}
+					if flag1 {
+						face.Liker = append(face.Liker,liker)
+					}
+				}
+				//face.Liker = append(face.Liker,arg.Liker...)
 			}
 		}
-		if flag {
-			faces = append(faces, FaceAndRules{arg, []ruleserver.Result{faceResult.Result}})
+		if !flag {
+			faces = append(faces, &FaceAndRules{arg, []ruleserver.Result{faceResult.Result}})
 		}
 	}
+	return faces
 }
 
 // 寰�es涓彃鍏olo鏁版嵁
@@ -318,7 +337,11 @@
 					//logger.Info("搴旇杩涙潵鎵嶅鐨�")
 					sdkNames = sdkNames + yoloResult.SdkName
 					alarm := ChangeToString(yoloResult.DefenceState, yoloResult.AlarmLevel)
-					alarmRules = append(alarmRules, AlarmRule{yoloResult.RuleGroupId, alarm, yoloResult.RuleText, yoloResult.DefenceState})
+					linkInfo := ""
+					if yoloResult.IsLink {
+						linkInfo = "鑱斿姩浠诲姟"
+					}
+					alarmRules = append(alarmRules, AlarmRule{yoloResult.RuleGroupId, alarm, yoloResult.RuleText, yoloResult.DefenceState,yoloResult.IsLink,linkInfo})
 					// 涓婁紶缂撳瓨鏁版嵁鐨勫浘鐗囨嬁鍒皍rl
 					if yoloResult.Others.CacheData != nil {
 						//InsertYolo(msg.RuleResult["cacheData"].(ruleserver.ResultMsg))
@@ -338,7 +361,7 @@
 							} else {
 								logger.Info("涓婁紶鐨勫浘鐗囦俊鎭細", resp1)
 							}
-							url = append(url, strings.Split(resp1["fileUrl"].(string), "/")[1])
+							url = append(url, resp1["fileUrl"].(string))
 						}
 					}
 				}
@@ -397,7 +420,7 @@
 			}
 			serverIp, err := GetLocalIP()
 
-			url = append(url, strings.Split(resp["fileUrl"].(string), "/")[1])
+			url = append(url, resp["fileUrl"].(string))
 			esDataId := uuid.NewV4().String()
 			linksId := ""
 			if linkId != "" {
@@ -492,7 +515,7 @@
 		localConfig.ServerName,
 		serverIp,
 		"",
-		[]string{strings.Split(resp["fileUrl"].(string), "/")[1]},
+		[]string{resp["fileUrl"].(string)},
 		i.Timestamp,
 		"",
 		"",
@@ -550,7 +573,7 @@
 		msg.Cid,
 		camera.Addr,
 		i.Timestamp,
-		strings.Split(bigPhotoUrl["fileUrl"].(string), "/")[1],
+		bigPhotoUrl["fileUrl"].(string),
 		msg.Tasklab.Taskid,
 		msg.Tasklab.Taskname,
 		"浜鸿劯",

--
Gitblit v1.8.0