From ce22ceb14ef0cb7091a2bbffd87e51808f5bb708 Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期四, 14 十一月 2019 10:46:30 +0800 Subject: [PATCH] --- --- algorithm/static/static.go | 18 ++++++++++++++++-- 1 files changed, 16 insertions(+), 2 deletions(-) diff --git a/algorithm/static/static.go b/algorithm/static/static.go index f652775..c0a1686 100644 --- a/algorithm/static/static.go +++ b/algorithm/static/static.go @@ -95,6 +95,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 +109,12 @@ initN = init } } + logger.Info("鐪嬩竴涓嬮潤姝㈠尯鍩熷唴鐨勭洰鏍囷細",am.AreaId) + for _, tar := range structure.StaticMap[am.AreaId].Targets { + logger.Info("鍏蜂綋鐩爣锛�",tar.Location) + } if 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,6 +123,7 @@ 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{} @@ -161,18 +173,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 +202,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