From a6a28e08a0031ca046947d67727f0e133c19e4ab Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期五, 09 八月 2019 11:49:25 +0800
Subject: [PATCH] cpu火力全开
---
ruleserver/ruleToformula.go | 38 +++++++++++++++++++++++++++++++-------
1 files changed, 31 insertions(+), 7 deletions(-)
diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go
index 98f6c43..852ae88 100644
--- a/ruleserver/ruleToformula.go
+++ b/ruleserver/ruleToformula.go
@@ -40,6 +40,7 @@
args []*Arg // 鍖哄煙鍐呯洰鏍囬泦鍚�
filterData []*Arg // 杩囨护鍚庡尯鍩熷唴鐩爣闆嗗悎
time string // 褰撳墠鏃堕棿锛堢敤浠ュ尮閰嶆椂闂磋鍒欙級
+ isEffective bool // 瑙勫垯涓槸鍚︾敤鍒颁簡姝ゅ尯鍩�
keepRight bool // 鏄惁闈犲彸琛�
isStatic bool // 鏄惁闈欐
}
@@ -90,6 +91,7 @@
RuleText string // 鏂囧瓧鐗堣鍒欑粍
Location []Rect // 鐩爣鐨勫潗鏍�
AlarmPolygon string // 瑙﹀彂鐨勬姤璀︽
+ IsLink bool // 鏄惁鏄仈鍔ㄤ换鍔�
Others
}
type Others struct {
@@ -188,6 +190,10 @@
ruleResult := filterRule(groupRule.Rules[j], areaMap)
if ruleResult.Result != "" {
logger.Info("鏉′欢瑙勫垯缁撴灉锛�", ruleResult.Result)
+ // 濡傛灉缁撴灉涓虹湡锛屾妸杩欐潯瑙勫垯涓殑鍖哄煙缃负鏈夋晥
+ if strings.Contains(ruleResult.Result,"true") {
+ areaMap.isEffective = true
+ }
// 濡傛灉姝ょ粨鏋滀负鐪熶笖褰撳墠杩囩殑鏄痽olo绠楁硶锛屽簲璁颁笅姝よ鍒欐墍瀵瑰簲鐨剆dkName,鍙﹀锛岃繕瑕佸幓閲� (鍚庡姞锛氭妸姝ゆ潯瑙︾鐨勫尯鍩焛d涔熻褰曚笅鏉�)
if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(sdkNames, sdkName) {
sdkNames = sdkName + ","
@@ -217,6 +223,9 @@
for _, areaMap := range sdkData.AreaMapList {
ruleResult := transferParameters(groupRule.Rules[j], areaMap)
if ruleResult.Result != "" {
+ if strings.Contains(ruleResult.Result,"true") {
+ areaMap.isEffective = true
+ }
logger.Info("鏁伴噺瑙勫垯缁撴灉锛�", ruleResult.Result)
if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(sdkNames, sdkName) {
sdkNames = sdkName + ","
@@ -243,6 +252,9 @@
for _, areaMap := range sdkData.AreaMapList {
ruleResult := timeRuleResult(groupRule.Rules[j], areaMap)
if ruleResult.Result != "" {
+ if strings.Contains(ruleResult.Result,"true") {
+ areaMap.isEffective = true
+ }
logger.Info("鏃堕棿瑙勫垯缁撴灉锛�", ruleResult.Result)
if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(sdkNames, sdkName) {
sdkNames = sdkName + ","
@@ -318,7 +330,9 @@
for _, sdkData := range args.Sdkdata {
if sdkData.IpcId == "A8B73405-373D-4F23-CED2-A617EBD7EC55" && faceFlag { // sdkData閲屾湁浜鸿劯鏁版嵁涓旈厤缃簡绠楁硶鎵嶆妸绗﹀悎鏉′欢鐨勬暟鎹杩涙爣绛鹃噷鍘�
for _, areaMap := range sdkData.AreaMapList {
- faces = append(faces, putFaceToResult(areaMap, faces)...)
+ if areaMap.isEffective {
+ faces = append(faces, putFaceToResult(areaMap, faces)...)
+ }
}
}
}
@@ -336,13 +350,27 @@
}
}
//logger.Debug("------locations鐨勫唴瀹癸細", locations)
+ var islink bool
+ if groupRule.SetType == "linkTask" {
+ islink = true
+ } else {
+ islink = false
+ }
if sdkNames != "" {
- args.RuleResult["yolo"] = append(args.RuleResult["yolo"].([]Result), Result{taskId, sdkNames, groupRule.GroupId, groupRule.DefenceState, groupRule.AlarmLevel, groupRule.GroupText, locations, polygonId, label})
+ args.RuleResult["yolo"] = append(args.RuleResult["yolo"].([]Result), Result{taskId, sdkNames, groupRule.GroupId, groupRule.DefenceState, groupRule.AlarmLevel, groupRule.GroupText, locations, polygonId, islink,label,})
//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})
+ args.RuleResult["face"] = append(args.RuleResult["face"].([]FaceResult), FaceResult{Result{taskId, sdkNames, groupRule.GroupId, groupRule.DefenceState, groupRule.AlarmLevel, groupRule.GroupText, []Rect{}, polygonId, islink,label,}, faces})
//logger.Info("-------------------face缁撴灉鏍囩", len(args.RuleResult["face"].([]FaceResult)))
+ logger.Info("杩囧畬瑙勫垯鏃舵煡鐪嬩汉鑴告爣绛撅細")
+ if args.RuleResult["face"] != nil && len(args.RuleResult["face"].([]FaceResult)) > 0 {
+ for _, faceResult := range args.RuleResult["face"].([]FaceResult) {
+ for _,arg := range faceResult.Args {
+ logger.Info("浜哄憳鍒嗗�兼槸锛�",arg.Score,"liker鐨勬暟閲忎负",arg.Liker)
+ }
+ }
+ }
}
return true
} else {
@@ -371,14 +399,10 @@
}
}
if flag {
- for _,lik := range data.Liker {
- logger.Warn("--------鐩镐技鑰咃細",lik.IdCard,lik.TableName)
- }
faces = append(faces, *data)
}
}
}
-
//logger.Println("-----------------------------------------------鍚浣犳槸绌虹殑锛�",faces)
return faces
}
--
Gitblit v1.8.0