From 0b753bff2785604dbcbc6d0df2485cf0e84f0e32 Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期一, 16 十二月 2019 16:07:31 +0800
Subject: [PATCH] ---
---
algorithm/faceCompare/faceCompare.go | 10 ++--
algorithm/middleware/middleware.go | 8 ++--
algorithm/intrusion/intrusion.go | 8 ++--
algorithm/personTrack/personTrack.go | 14 ++++---
algorithm/face/face.go | 10 ++--
algorithm/car/plate.go | 12 +++---
structure/rule.go | 3 +
algorithm/personUnsual/personUnsual.go | 12 +++---
8 files changed, 40 insertions(+), 37 deletions(-)
diff --git a/algorithm/car/plate.go b/algorithm/car/plate.go
index dff8c3a..d2b5f9b 100644
--- a/algorithm/car/plate.go
+++ b/algorithm/car/plate.go
@@ -85,16 +85,16 @@
}
am.TargetNum = len(am.FilterData) // 鎶婄鍚堟潯浠剁殑鐩爣鏁伴噺鏇存柊鍒皌argetNum瀛楁
if am.TargetNum > 0 {
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort}
+ return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort,am.FilterData}
} else {
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort}
+ return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort,am.FilterData}
}
} else if rule.SdkArgAlias == "" {
if am.TargetNum > 0 {
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort}
+ return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort,am.FilterData}
} else {
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort}
+ return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort,am.FilterData}
}
}
return structure.LittleRuleResult{}
@@ -106,7 +106,7 @@
//logger.Info("褰撳墠灏忚鍒欐槸锛�---------", rule)
//logger.Info("寰楀嚭缁撴灉闃舵", "姣旇緝鐨勮鍒欐槸锛�", rule)
if rule.Operator == "" {
- return structure.LittleRuleResult{am.SdkName, strconv.Itoa(am.TargetNum) + "" + rule.RuleWithPre, rule.Sort} // 濡傛灉鍚庨潰涓嶈窡鎿嶄綔绗﹀氨鐩存帴杩斿洖鏁伴噺 姣斿瑕佽窡涓嬩竴涓尯鍩熸瘮杈冩暟閲忕殑灏辩洿鎺ヨ繑鍥炴湰鍖哄煙鐨勬暟閲�
+ return structure.LittleRuleResult{am.SdkName, strconv.Itoa(am.TargetNum) + "" + rule.RuleWithPre, rule.Sort,am.FilterData} // 濡傛灉鍚庨潰涓嶈窡鎿嶄綔绗﹀氨鐩存帴杩斿洖鏁伴噺 姣斿瑕佽窡涓嬩竴涓尯鍩熸瘮杈冩暟閲忕殑灏辩洿鎺ヨ繑鍥炴湰鍖哄煙鐨勬暟閲�
}
//args := am.targetNum targetNum 宸叉垚鎵�鏈夌洰鏍囩殑鎬绘暟閲忥紝杩欓噷鍙畻yolo鐨�
var num int = len(am.FilterData)
@@ -114,6 +114,6 @@
//logger.Info("杞﹁締鏁伴噺鍏紡",formula)
expression, _ := govaluate.NewEvaluableExpression(formula) // 寰楀埌鏁板鍏紡
result, _ := expression.Evaluate(nil) // 寰楀埌鏁板鍏紡鐨勭粨鏋�
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + " " + strconv.FormatBool(result.(bool)), rule.Sort}
+ return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + " " + strconv.FormatBool(result.(bool)), rule.Sort,am.FilterData}
// 鍔犱笂鍏充簬绠楁硶鐨勫垽鏂潯浠讹紝涓嶈兘鍙湁鍏充簬瑙勫垯鐨勶紝鏈夌殑绠楁硶鏈韩灏辨槸涓�涓鍒欙紝濡備釜浣撻潤姝紝闈犲彸琛�,鎵�浠ワ紝鎷垮埌褰撳墠瀛愯鍒欑殑sdkid鏉ュ垽鏂槸鍚︽槸閭d簺鐗规畩鐨勮鍒�
}
\ No newline at end of file
diff --git a/algorithm/face/face.go b/algorithm/face/face.go
index 262358e..68313d6 100644
--- a/algorithm/face/face.go
+++ b/algorithm/face/face.go
@@ -41,7 +41,7 @@
flag = "true"
}
//logger.Info("---------浜鸿劯姣斿绗﹀悎鏉′欢鐨勬暟閲忎负锛�",len(am.FilterData))
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + flag, rule.Sort}
+ return structure.LittleRuleResult{SdkName:am.SdkName, Result:rule.RuleWithPre + "" + flag, Sort:rule.Sort}
}
}
if rule.SdkId == "812b674b-2375-4589-919a-5c1c3278a97e" { // 浜鸿劯妫�娴�
@@ -84,16 +84,16 @@
am.TargetNum = len(am.FilterData) // 鎶婄鍚堟潯浠剁殑鐩爣鏁伴噺鏇存柊鍒皌argetNum瀛楁
if am.TargetNum > 0 {
logger.Info("锛侊紒锛侊紒锛侊紒锛侊紒锛佷汉鑴告娴嬫垚鍔�")
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort}
+ return structure.LittleRuleResult{SdkName:am.SdkName, Result:rule.RuleWithPre + "" + "true", Sort:rule.Sort,Target:am.FilterData}
} else {
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort}
+ return structure.LittleRuleResult{SdkName:am.SdkName, Result:rule.RuleWithPre + "" + "false", Sort:rule.Sort}
}
}
} else if rule.SdkArgAlias == "" { // 浠�涔堝弬鏁伴兘涓嶉厤鐨勬儏鍐�
if am.TargetNum > 0 {
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort}
+ return structure.LittleRuleResult{SdkName:am.SdkName, Result:rule.RuleWithPre + "" + "true", Sort:rule.Sort,Target:am.FilterData}
} else {
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort}
+ return structure.LittleRuleResult{SdkName:am.SdkName, Result:rule.RuleWithPre + "" + "false", Sort:rule.Sort}
}
}
}
diff --git a/algorithm/faceCompare/faceCompare.go b/algorithm/faceCompare/faceCompare.go
index f5a9d2f..bb99c72 100644
--- a/algorithm/faceCompare/faceCompare.go
+++ b/algorithm/faceCompare/faceCompare.go
@@ -41,7 +41,7 @@
flag = "true"
}
//logger.Info("---------浜鸿劯姣斿绗﹀悎鏉′欢鐨勬暟閲忎负锛�",len(am.FilterData))
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + flag, rule.Sort}
+ return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + flag, rule.Sort,am.FilterData}
}
}
if rule.SdkId == "812b674b-2375-4589-919a-5c1c3278a97e" { // 浜鸿劯妫�娴�
@@ -85,16 +85,16 @@
//logger.Info("杩囧畬鏉′欢鍚庣殑鐩爣鏁伴噺涓猴細",am.TargetNum)
if am.TargetNum > 0 {
//logger.Info("锛侊紒锛侊紒锛侊紒锛侊紒锛佷汉鑴告娴嬫垚鍔�")
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort}
+ return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort,am.FilterData}
} else {
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort}
+ return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort,am.FilterData}
}
}
} else if rule.SdkArgAlias == "" { // 浠�涔堝弬鏁伴兘涓嶉厤鐨勬儏鍐�
if am.TargetNum > 0 {
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort}
+ return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort,am.FilterData}
} else {
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort}
+ return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort,am.FilterData}
}
}
}
diff --git a/algorithm/intrusion/intrusion.go b/algorithm/intrusion/intrusion.go
index 879318d..4097687 100644
--- a/algorithm/intrusion/intrusion.go
+++ b/algorithm/intrusion/intrusion.go
@@ -51,16 +51,16 @@
}
am.TargetNum = len(am.FilterData) // 鎶婄鍚堟潯浠剁殑鐩爣鏁伴噺鏇存柊鍒皌argetNum瀛楁
if am.TargetNum > 0 {
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort}
+ return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort,am.FilterData}
} else {
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort}
+ return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort,am.FilterData}
}
} else if rule.SdkArgAlias == "" {
if am.TargetNum > 0 {
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort}
+ return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort,am.FilterData}
} else {
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort}
+ return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort,am.FilterData}
}
}
return structure.LittleRuleResult{}
diff --git a/algorithm/middleware/middleware.go b/algorithm/middleware/middleware.go
index e1a3c2c..0c8c596 100644
--- a/algorithm/middleware/middleware.go
+++ b/algorithm/middleware/middleware.go
@@ -74,7 +74,7 @@
for _, areaMap := range sdkData.AreaMapList {
ruleResult := CallSo(sdk.Id, groupRule.Rules[j], areaMap,lable,args,message)
logger.Info("鍓嶇疆杩炴帴绗︼細",groupRule.Rules[j])
- if groupRule.Rules[j].RuleWithPre == "鈯�" {
+ if groupRule.Rules[j].RuleWithPre == "鈯�" && len(ruleResult.Target) > 0 {
assembleDta(args,groupRule.Rules[j-1],groupRule.Rules[j])
// 鎶婂綋鍓嶅皬瑙勫垯缁撴灉缃┖
ruleResult = structure.LittleRuleResult{}
@@ -330,7 +330,7 @@
break
}
}
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + flag, rule.Sort}
+ return structure.LittleRuleResult{SdkName:am.SdkName, Result:rule.RuleWithPre + "" + flag, Sort:rule.Sort}
}
if rule.Operator == "unsatisfy" || rule.Operator == "!=" { // 涓嶆弧瓒虫墍閫夌殑鏃堕棿瑙勫垯
@@ -350,7 +350,7 @@
break
}
}
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + flag, rule.Sort}
+ return structure.LittleRuleResult{SdkName:am.SdkName, Result:rule.RuleWithPre + "" + flag, Sort:rule.Sort}
}
}
@@ -479,7 +479,7 @@
for _, sdkData := range args.Sdkdata {
for _, areaMap := range sdkData.AreaMapList {
logger.Info("sdkId鍜屽尯鍩焛d纰版挒锛�",areaMap.SdkId,rule2.SdkId,"---",areaMap.AreaId,rule2.PolygonId)
- if areaMap.SdkId == rule2.SdkId && areaMap.AreaId == rule2.PolygonId {
+ if areaMap.AreaId == rule2.PolygonId {
area = *areaMap
goto second
}
diff --git a/algorithm/personTrack/personTrack.go b/algorithm/personTrack/personTrack.go
index d33e423..f06f1a4 100644
--- a/algorithm/personTrack/personTrack.go
+++ b/algorithm/personTrack/personTrack.go
@@ -76,16 +76,16 @@
}
am.TargetNum = len(am.FilterData) // 鎶婄鍚堟潯浠剁殑鐩爣鏁伴噺鏇存柊鍒皌argetNum瀛楁
if am.TargetNum > 0 {
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort}
+ return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort,am.FilterData}
} else {
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort}
+ return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort,am.FilterData}
}
} else if rule.SdkArgAlias == "" {
if am.TargetNum > 0 {
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort}
+ return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort,am.FilterData}
} else {
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort}
+ return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort,am.FilterData}
}
}
return structure.LittleRuleResult{}
@@ -135,7 +135,7 @@
// return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort}
//}
// 鏃犺鏈夋病鏈夌浉浼艰�呴兘瑕佽繑鍥瀟rue
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort}
+ return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort,nil}
}
func Push(){
@@ -169,7 +169,9 @@
for {
select {
case data := <- sender:
- logger.Debug("鎺ㄩ�佹暟鎹�:",len(data))
+ trackMap := make(map[string]interface{})
+ _ = json.Unmarshal(data, &trackMap)
+ logger.Info("鎺ㄩ�佹暟鎹�:",trackMap)
if err = sock.Send(data); err != nil {
logger.Error("鎺ㄩ�乻ocket鍙戦�佹暟鎹け璐�: %s", err.Error())
}
diff --git a/algorithm/personUnsual/personUnsual.go b/algorithm/personUnsual/personUnsual.go
index 9288fc0..0eeaa2f 100644
--- a/algorithm/personUnsual/personUnsual.go
+++ b/algorithm/personUnsual/personUnsual.go
@@ -57,16 +57,16 @@
}
am.TargetNum = len(am.FilterData) // 鎶婄鍚堟潯浠剁殑鐩爣鏁伴噺鏇存柊鍒皌argetNum瀛楁
if am.TargetNum > 0 {
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort}
+ return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort,am.FilterData}
} else {
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort}
+ return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort,am.FilterData}
}
} else if rule.SdkArgAlias == "" {
if am.TargetNum > 0 {
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort}
+ return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort,am.FilterData}
} else {
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort}
+ return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort,am.FilterData}
}
}
return structure.LittleRuleResult{}
@@ -77,7 +77,7 @@
//logger.Info("褰撳墠灏忚鍒欐槸锛�---------", rule)
//logger.Info("寰楀嚭缁撴灉闃舵", "姣旇緝鐨勮鍒欐槸锛�", rule)
if rule.Operator == "" {
- return structure.LittleRuleResult{am.SdkName, strconv.Itoa(am.TargetNum) + "" + rule.RuleWithPre, rule.Sort} // 濡傛灉鍚庨潰涓嶈窡鎿嶄綔绗﹀氨鐩存帴杩斿洖鏁伴噺 姣斿瑕佽窡涓嬩竴涓尯鍩熸瘮杈冩暟閲忕殑灏辩洿鎺ヨ繑鍥炴湰鍖哄煙鐨勬暟閲�
+ return structure.LittleRuleResult{am.SdkName, strconv.Itoa(am.TargetNum) + "" + rule.RuleWithPre, rule.Sort,am.FilterData} // 濡傛灉鍚庨潰涓嶈窡鎿嶄綔绗﹀氨鐩存帴杩斿洖鏁伴噺 姣斿瑕佽窡涓嬩竴涓尯鍩熸瘮杈冩暟閲忕殑灏辩洿鎺ヨ繑鍥炴湰鍖哄煙鐨勬暟閲�
}
//args := am.targetNum targetNum 宸叉垚鎵�鏈夌洰鏍囩殑鎬绘暟閲忥紝杩欓噷鍙畻yolo鐨�
var num int = 0
@@ -89,6 +89,6 @@
formula := strconv.Itoa(num) + " " + rule.Operator + " " + rule.SdkArgValue
expression, _ := govaluate.NewEvaluableExpression(formula) // 寰楀埌鏁板鍏紡
result, _ := expression.Evaluate(nil) // 寰楀埌鏁板鍏紡鐨勭粨鏋�
- return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + " " + strconv.FormatBool(result.(bool)), rule.Sort}
+ return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + " " + strconv.FormatBool(result.(bool)), rule.Sort,am.FilterData}
// 鍔犱笂鍏充簬绠楁硶鐨勫垽鏂潯浠讹紝涓嶈兘鍙湁鍏充簬瑙勫垯鐨勶紝鏈夌殑绠楁硶鏈韩灏辨槸涓�涓鍒欙紝濡備釜浣撻潤姝紝闈犲彸琛�,鎵�浠ワ紝鎷垮埌褰撳墠瀛愯鍒欑殑sdkid鏉ュ垽鏂槸鍚︽槸閭d簺鐗规畩鐨勮鍒�
}
diff --git a/structure/rule.go b/structure/rule.go
index 4d97c92..1629a82 100644
--- a/structure/rule.go
+++ b/structure/rule.go
@@ -113,7 +113,8 @@
type LittleRuleResult struct {
SdkName string // 璁板綍涓嬫缁撴灉鏄摢涓猻dk鐨勭粨鏋�
Result string // 宸插寘鍚簡鍓嶇疆杩炴帴绗�
- Sort int32
+ Sort int32 // 瑙勫垯搴忓彿
+ Target []*Arg
}
type TimeRange struct {
--
Gitblit v1.8.0