From b18beafcaaa2e2086610f22079842b2e5af6e283 Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期四, 01 八月 2019 14:41:38 +0800
Subject: [PATCH] 联动规则稳定版
---
insertdata/insertDataToEs.go | 32 +++++++++++++++++++++++---------
ruleserver/ruleToformula.go | 13 +++++++------
2 files changed, 30 insertions(+), 15 deletions(-)
diff --git a/insertdata/insertDataToEs.go b/insertdata/insertDataToEs.go
index 57e8e75..f9c4bd4 100644
--- a/insertdata/insertDataToEs.go
+++ b/insertdata/insertDataToEs.go
@@ -7,7 +7,6 @@
"fmt"
"io/ioutil"
"net"
- "os"
"ruleprocess/cache"
"ruleprocess/logger"
"strings"
@@ -72,6 +71,7 @@
AnalyServerName string `json:"analyServerName"`
AnalyServerIp string `json:"analyServerIp"`
ClusterId string `json:"clusterId"`
+ LinkId string `json:"linkId"`
DetectScore float64 `json:"detectScore"`
IsAlarm int `json:"isAlarm"`
IsAckAlarm int `json:"isAckAlarm"`
@@ -97,6 +97,7 @@
ClusterId string `json:"clusterId"`
PicSmUrl []string `json:"picSmUrl"`
PicDate string `json:"picDate"`
+ LinkId string `json:"linkId"`
VideoUrl string `json:"videoUrl"`
IsAlarm int `json:"isAlarm"`
IsAckAlarm int `json:"isAckAlarm"`
@@ -136,15 +137,15 @@
// //}
//}
func InsertToEs(msg ruleserver.ResultMsg) {
- InsertFace(msg)
+ InsertFace(msg,"")
//flag := ruleserver.BodyIsSame(msg.SdkMessage)
//if !flag {
- InsertYolo(msg)
+ InsertYolo(msg,"")
//}
}
// 寰�es涓彃鍏ヤ汉鑴告暟鎹�
-func InsertFace(msg ruleserver.ResultMsg) {
+func InsertFace(msg ruleserver.ResultMsg,linkId string) {
if msg.RuleResult["face"] != nil && len(msg.RuleResult["face"].([]ruleserver.FaceResult)) > 0 {
logger.Info("寰�ES鎻掍汉鑴告暟鎹�")
for _, faceResult := range msg.RuleResult["face"].([]ruleserver.FaceResult) {
@@ -189,6 +190,10 @@
race := getRaceString(face.ThftRes.Race)
ageDescription := getDescription(face.ThftRes.Age)
esDataId := uuid.NewV4().String()
+ linksId := ""
+ if linkId != "" {
+ linksId = linkId
+ }
pervideo := PerVideoPicture{
esDataId,
msg.Cid,
@@ -214,6 +219,7 @@
localConfig.ServerName,
serverIp,
"",
+ linksId,
face.Score,
1,
0,
@@ -290,6 +296,7 @@
localConfig.ServerName,
serverIp,
"",
+ "",
0,
1,
0,
@@ -318,12 +325,12 @@
}
// 寰�es涓彃鍏olo鏁版嵁
-func InsertYolo(msg ruleserver.ResultMsg) {
+func InsertYolo(msg ruleserver.ResultMsg,linkId string) {
if msg.RuleResult["yolo"] != nil && len(msg.RuleResult["yolo"].([]ruleserver.Result)) > 0 {
// 鍏堝垽鏂竴涓嬫暟鎹甫鐨勮鍒欐爣绛炬槸鍚︽湁鍙互鎻掑叆鐨�
flag := false
for _, res := range msg.RuleResult["yolo"].([]ruleserver.Result) {
- logger.Info("瀹氭椂鍣ㄦ墦鐨勬暟瀛楁爣绛撅細",res.Others.TimeLabel)
+ //logger.Info("瀹氭椂鍣ㄦ墦鐨勬暟瀛楁爣绛撅細",res.Others.TimeLabel)
if res.Others.TimeLabel == "01" || res.Others.TimeLabel == "10" {
flag = true
}
@@ -336,7 +343,7 @@
for _, yoloResult := range msg.RuleResult["yolo"].([]ruleserver.Result) {
if yoloResult.Others.TimeLabel == "01" || yoloResult.Others.TimeLabel == "10" {
// 鎷煎嚭sdkname
- logger.Info("搴旇杩涙潵鎵嶅鐨�")
+ //logger.Info("搴旇杩涙潵鎵嶅鐨�")
sdkNames = sdkNames + yoloResult.SdkName
alarm := ChangeToString(yoloResult.DefenceState, yoloResult.AlarmLevel)
alarmRules = append(alarmRules, AlarmRule{yoloResult.RuleGroupId, alarm, yoloResult.RuleText, yoloResult.DefenceState})
@@ -367,9 +374,10 @@
linkFlag := false
for _, yoloResult := range msg.RuleResult["yolo"].([]ruleserver.Result) {
if (yoloResult.Others.TimeLabel == "01" || yoloResult.Others.TimeLabel == "10") && yoloResult.Others.LinkCache != nil && len(yoloResult.Others.LinkCache) > 1{
+ linkId := uuid.NewV4().String()
for _, msg2 := range yoloResult.Others.LinkCache {
logger.Warn("鎻掑叆鑱斿姩鏁版嵁","姝ゅ抚鏁版嵁鐨刬d涓�",msg2.Cid)
- InsertYolo(msg2)
+ InsertYolo(msg2,linkId)
linkFlag = true
}
}
@@ -377,7 +385,7 @@
if linkFlag {
// 鑱斿姩鏁版嵁涓寘鍚湰甯ф暟鎹紝鎻掑叆鑱斿姩鏁版嵁鍚庡氨涓嶉渶瑕佹彃鍏ユ湰甯ф暟鎹簡
logger.Warn("鎴愬姛鎻掑叆涓や釜鑱斿姩鍥剧墖")
- os.Exit(1)
+ //os.Exit(1)
return
}
//logger.Info("--------璧板埌杩欏効灏变笉涓�鏍�")
@@ -419,6 +427,10 @@
url = append(url, strings.Split(resp["fileUrl"].(string), "/")[1])
esDataId := uuid.NewV4().String()
+ linksId := ""
+ if linkId != "" {
+ linksId = linkId
+ }
peraction := Personaction{
esDataId,
msg.Cid,
@@ -435,6 +447,7 @@
"",
url,
i.Timestamp,
+ linksId,
"",
isAlarm,
0,
@@ -510,6 +523,7 @@
[]string{strings.Split(resp["fileUrl"].(string), "/")[1]},
i.Timestamp,
"",
+ "",
0,
0,
0,
diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go
index 7100bd7..e8c0fbc 100644
--- a/ruleserver/ruleToformula.go
+++ b/ruleserver/ruleToformula.go
@@ -335,11 +335,11 @@
//logger.Debug("------locations鐨勫唴瀹癸細", locations)
if sdkNames != "" {
args.RuleResult["yolo"] = append(args.RuleResult["yolo"].([]Result), Result{taskId, sdkNames, groupRule.GroupId,groupRule.DefenceState,groupRule.AlarmLevel, groupRule.GroupText, locations, polygonId,label})
- logger.Info("-------------------yolo缁撴灉鏍囩闀垮害", len(args.RuleResult["yolo"].([]Result)))
+ //logger.Info("-------------------yolo缁撴灉鏍囩闀垮害", len(args.RuleResult["yolo"].([]Result)))
}
if faceFlag {
args.RuleResult["face"] = append(args.RuleResult["face"].([]FaceResult), FaceResult{Result{taskId, sdkNames, groupRule.GroupId,groupRule.DefenceState,groupRule.AlarmLevel, groupRule.GroupText, []Rect{}, polygonId,label},faces})
- logger.Info("-------------------face缁撴灉鏍囩", len(args.RuleResult["face"].([]FaceResult)))
+ //logger.Info("-------------------face缁撴灉鏍囩", len(args.RuleResult["face"].([]FaceResult)))
}
return true
} else {
@@ -430,18 +430,14 @@
tempMap := make(map[string]interface{})
for k,result := range args.RuleResult {
if k == "yolo" {
- logger.Info("鏈夋病鏈墆olo鏍囩")
tempMap[k] = []Result{}
for _,res := range result.([]Result) {
- logger.Info("杩涗竴娆olo寰幆")
tempMap[k] = append(tempMap[k].([]Result),res)
}
}
if k == "face" {
- logger.Info("鏈夋病鏈塮ace鏍囩")
tempMap[k] = []FaceResult{}
for _,res := range result.([]FaceResult) {
- logger.Info("杩涗竴娆ace寰幆")
tempMap[k] = append(tempMap[k].([]FaceResult),res)
}
}
@@ -484,6 +480,11 @@
args.RuleResult["yolo"].([]Result)[i].Others.LinkCache = label.LinkCache
}
}
+ for i := 0; i < len(args.RuleResult["face"].([]FaceResult)); i++ {
+ if args.RuleResult["face"].([]FaceResult)[i].RuleGroupId == groupRule.GroupId { // 鎶婅仈鍔ㄦ暟鎹拷鍔犱笂
+ args.RuleResult["face"].([]FaceResult)[i].Others.LinkCache = label.LinkCache
+ }
+ }
}
}
} else {
--
Gitblit v1.8.0