From 367fe2552c86224069a0aadf5a176cc931e06331 Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期三, 07 八月 2019 11:28:30 +0800
Subject: [PATCH] 所过的规则组标识时联动任务还是独立任务

---
 insertdata/insertDataToEs.go |   36 +++++++++++++++++++++++++-----------
 1 files changed, 25 insertions(+), 11 deletions(-)

diff --git a/insertdata/insertDataToEs.go b/insertdata/insertDataToEs.go
index 36acc51..6fa11a9 100644
--- a/insertdata/insertDataToEs.go
+++ b/insertdata/insertDataToEs.go
@@ -110,6 +110,7 @@
 	AlarmLevel   string `json:"alarmLevel"`
 	RuleText     string `json:"ruleText"`
 	DefenceState bool   `json:"defenceState"`
+	IsLink		 bool	`json:"isLink"`
 }
 
 // 涓�涓猣ace瀵瑰涓鍒欑粍鐨勫綊缃汉鑴哥殑缁撴瀯浣�
@@ -148,6 +149,10 @@
 	fk := ruleserver.TrackOrNot(msg.RuleResult)
 	if fk {
 		InsertYolo(msg, "")
+		//if msg.Cid == "61de081a-7ed9-4970-8432-41d642c35456" {
+		//	logger.Warn("鎹曟崏188鎽勫儚鏈虹殑鎸佺画鏃堕棿浠诲姟.....")
+		//	os.Exit(1)
+		//}
 	} else {
 		flag := ruleserver.BodyIsSame(msg.SdkMessage)
 		if !flag {
@@ -160,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 {
 				// 涓婁紶澶у浘
@@ -170,9 +177,11 @@
 					panic("瑙e帇缂╁浘鐗囨椂鍑虹幇閿欒")
 				}
 				alarmRules := []AlarmRule{}
+				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)
@@ -262,31 +271,36 @@
 }
 
 // 褰掔疆浜鸿劯
-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)
+				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鏁版嵁
@@ -311,7 +325,7 @@
 					//logger.Info("搴旇杩涙潵鎵嶅鐨�")
 					sdkNames = sdkNames + yoloResult.SdkName
 					alarm := ChangeToString(yoloResult.DefenceState, yoloResult.AlarmLevel)
-					alarmRules = append(alarmRules, AlarmRule{yoloResult.RuleGroupId, alarm, yoloResult.RuleText, yoloResult.DefenceState})
+					alarmRules = append(alarmRules, AlarmRule{yoloResult.RuleGroupId, alarm, yoloResult.RuleText, yoloResult.DefenceState,yoloResult.IsLink})
 					// 涓婁紶缂撳瓨鏁版嵁鐨勫浘鐗囨嬁鍒皍rl
 					if yoloResult.Others.CacheData != nil {
 						//InsertYolo(msg.RuleResult["cacheData"].(ruleserver.ResultMsg))

--
Gitblit v1.8.0