From ed50fd820fa8299f328e85400a08db997e86b349 Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期五, 09 八月 2019 18:04:54 +0800 Subject: [PATCH] 加个取联动数据的判断以防偶尔的nil导致宕机 --- insertdata/insertDataToEs.go | 22 ++++++++++++++++++++-- 1 files changed, 20 insertions(+), 2 deletions(-) diff --git a/insertdata/insertDataToEs.go b/insertdata/insertDataToEs.go index 08138f8..1c2f8e2 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瀵瑰涓鍒欑粍鐨勫綊缃汉鑴哥殑缁撴瀯浣� @@ -180,7 +181,7 @@ //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) @@ -283,11 +284,28 @@ 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 { @@ -319,7 +337,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