From 8c3063e420502667043e0e1bdb35eef05fbd133b Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期四, 14 十一月 2019 15:11:28 +0800
Subject: [PATCH] 结果标签大改动
---
algorithm/static/static.go | 25 +++++++++++++++++++++----
1 files changed, 21 insertions(+), 4 deletions(-)
diff --git a/algorithm/static/static.go b/algorithm/static/static.go
index f652775..f33faf2 100644
--- a/algorithm/static/static.go
+++ b/algorithm/static/static.go
@@ -16,7 +16,10 @@
if rule.SdkArgAlias == "score" || rule.SdkArgAlias == "proportion" || rule.SdkArgAlias == "size" || rule.SdkArgAlias == "" { // 鍒ゆ柇鐨勬槸鐩镐技鍊硷紝鍗犳瘮锛屽昂瀵哥瓑杩囨护鏉′欢锛屽鏋滃啀鏈夛紝杩樺彲浠ュ啀鍔�
return filterRule(rule, am)
} else if rule.SdkArgAlias == "duration" {
- return CompareAndSave(rule,am,lable,args,message)
+
+ lr := CompareAndSave(rule,am,lable,args,message)
+ logger.Info("涓綋闈欐瑙勫垯缁撴灉锛�",lr)
+ return lr
} else {
return structure.LittleRuleResult{}
}
@@ -95,6 +98,12 @@
}
// 鍒ゆ柇涓�涓尯鍩熷唴鏈夋病鏈夐潤姝㈢殑鐩爣
func CompareAndSave(rule *protomsg.Rule, am *structure.AreaMap,lable *structure.Others,args *structure.SdkDatas,message *protomsg.SdkMessage) structure.LittleRuleResult {
+ defer func() {
+ if err := recover(); err != nil {
+ logger.Error("涓綋闈欐瑙勫垯鏈夎", err)
+ }
+ }()
+ logger.Info("璧颁簡涓綋闈欐鏍稿績绠楁硶")
initN := 5
if rule.SdkId == "812b674b-2375-4589-919a-5c1c3278a977" && rule.SdkArgAlias == "duration" {
if init,err := strconv.Atoi(rule.SdkArgValue); err != nil {
@@ -103,7 +112,8 @@
initN = init
}
}
- if len(structure.StaticMap[am.AreaId].Targets) == 0 { // 鍗崇涓�甯ф暟鎹�(涔熶笉涓�瀹�)锛岃繕娌℃湁缂撳瓨
+ if structure.StaticMap[am.AreaId] == nil || len(structure.StaticMap[am.AreaId].Targets) == 0 { // 鍗崇涓�甯ф暟鎹�(涔熶笉涓�瀹�)锛岃繕娌℃湁缂撳瓨
+ logger.Info("涔嬪墠鏃犵紦瀛�")
objs := []*structure.Obj{}
for _, tar := range am.FilterData {
obj := &structure.Obj{Id: tar.Id, Location: tar.Location, N: initN,InitN:initN}
@@ -112,9 +122,14 @@
structure.StaticMap[am.AreaId] = &structure.CameraArea{objs}
return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort}
} else {
+ logger.Info("涔嬪墠鏈夌紦瀛�")
flag := "false"
// 浠ヤ箣鍓嶉潤姝㈢殑瀵硅薄涓轰富鍒ゆ柇鏄惁闈欐
tars := []*structure.Arg{}
+ logger.Info("鐪嬩竴涓嬮潤姝㈠尯鍩熷唴鐨勭洰鏍囷細",am.AreaId)
+ for _, tar := range structure.StaticMap[am.AreaId].Targets {
+ logger.Info("鍏蜂綋鐩爣锛�",tar.Location)
+ }
for _, tar := range structure.StaticMap[am.AreaId].Targets {
singleResult,arg := SingleStatic(tar,am,lable,90)
if singleResult {
@@ -161,18 +176,20 @@
// 鍒ゆ柇涓�涓洰鏍囨槸鍚﹂潤姝簡鎸囧畾鏃堕棿
func SingleStatic(person *structure.Obj, am *structure.AreaMap,lable *structure.Others, argValue float64) (bool,*structure.Arg){
+ logger.Info("鍗曚釜鐩爣鐨勫垽鏂細")
flag := false
var o *structure.Arg = nil
for _, obj := range am.FilterData {
if person.Id == obj.Id {
coincidenceDegree := PgsInterPercent(Rect2Point(person.Location), obj.Location, 1, 1)
+ logger.Info("鍒ゆ柇鐩爣鐨勯噸鍚堝害",coincidenceDegree)
o = obj
if coincidenceDegree >= argValue {
flag = true
}
}
}
- if flag { // 鏈変竴涓璞′繚鎸侀潤姝紙id鐩哥瓑骞朵笖閲嶅悎搴﹂珮浜庨槇鍊硷級
+ if flag { // 褰撳墠妫�娴嬪璞′繚鎸侀潤姝紙id鐩哥瓑骞朵笖閲嶅悎搴﹂珮浜庨槇鍊硷級
flagTime := TimerAlarm(lable,person,flag,am.AreaId)
if flagTime == "10" || flagTime == "11" {
return flag,o
@@ -188,7 +205,7 @@
// 鍒ゆ柇鏄惁绗﹀悎瀹氭椂鍣ㄦ潯浠�
func TimerAlarm(oth *structure.Others,person *structure.Obj, result bool,areaId string) (string) {
var flagTime string //
-
+ logger.Info("鐩爣鐨勫畾鏃跺櫒锛�")
rw.Lock()
if result { // 缁撴灉涓虹湡
--
Gitblit v1.8.0