From 7a06bb3e7e47e9b67adfd1fcbe025491819b2970 Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期日, 29 九月 2019 14:34:02 +0800 Subject: [PATCH] 人脸也画规则框 --- ruleserver/ruleToformula.go | 50 +++++++++++++++++++++----------------------------- 1 files changed, 21 insertions(+), 29 deletions(-) diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go index ae1e45a..5160f2a 100644 --- a/ruleserver/ruleToformula.go +++ b/ruleserver/ruleToformula.go @@ -2,7 +2,7 @@ import ( "ruleprocess/cache" - "ruleprocess/logger" + "basic.com/valib/logger.git" "sort" "strconv" "strings" @@ -116,6 +116,11 @@ // 瀵瑰崟甯у浘鍍忕殑鍒ゆ柇 thisSdkDatas 褰撳墠浼犲叆鐨勮繖甯ф暟鎹紝cacheSdkData 瀹氭椂鍣ㄩ噷缂撳瓨鐨勪竴甯ф暟鎹� 娌℃湁灏辫繑鍥瀗il (thisSdkDatas SdkDatas, cacheSdkDatas SdkDatas) func Judge(args *SdkDatas, message *protomsg.SdkMessage) { + defer func() { + if err := recover(); err != nil { + logger.Error("瑙勫垯妯″潡鍎跨殑寮傚父鎹曡幏锛�",err) + } + }() if len(args.Sdkdata) > 0 { // 鎷垮埌鏈憚鍍忔満鐨勫尯鍩� cameraPolygons := GetPolygons(args.CameraId) @@ -200,9 +205,8 @@ // 濡傛灉姝ょ粨鏋滀负鐪熶笖褰撳墠杩囩殑鏄痽olo绠楁硶锛屽簲璁颁笅姝よ鍒欐墍瀵瑰簲鐨剆dkName,鍙﹀锛岃繕瑕佸幓閲� (鍚庡姞锛氭妸姝ゆ潯瑙︾鐨勫尯鍩焛d涔熻褰曚笅鏉�) if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(sdkNames, sdkName) { sdkNames = sdkName + "," - polygonId = groupRule.Rules[j].PolygonId + "," } - if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(polygonId, groupRule.Rules[j].PolygonId) { + if strings.Contains(ruleResult.Result, "true") && !strings.Contains(polygonId, groupRule.Rules[j].PolygonId) { polygonId = groupRule.Rules[j].PolygonId + "," } resultSplice = append(resultSplice, &ruleResult) @@ -575,7 +579,7 @@ //logger.Info("瑙勫垯鐨勭畻娉昳d鍜屽尯鍩熺殑绠楁硶id锛�", rule.SdkId, "===", am.sdkId) if rule.PolygonId == am.areaId { // 绠楁硶鍜屽尯鍩熼兘寰楀鐨勪笂 - if rule.SdkId == "812b674b-2375-4589-919a-5c1c3278a972" && rule.SdkArgAlias != "time_rule"{ + if rule.SdkId == "812b674b-2375-4589-919a-5c1c3278a972" && rule.SdkArgAlias != "time_rule" { if rule.RuleWithPre == "||" { return LittleRuleResult{} } else { @@ -643,17 +647,15 @@ } else { return LittleRuleResult{am.sdkName, rule.RuleWithPre + "" + "false", rule.Sort} } - } else { - return LittleRuleResult{} } - } else { - return LittleRuleResult{} + } else if rule.SdkArgAlias == "" { // 浠�涔堝弬鏁伴兘涓嶉厤鐨勬儏鍐� + if am.targetNum > 0 { + return LittleRuleResult{am.sdkName, rule.RuleWithPre + "" + "true", rule.Sort} + } else { + return LittleRuleResult{am.sdkName, rule.RuleWithPre + "" + "false", rule.Sort} + } } - } else { - return LittleRuleResult{} } - } else { - return LittleRuleResult{} } } else { // 澶勭悊鐨勯兘鏄痽olo鏁版嵁 @@ -693,14 +695,16 @@ return LittleRuleResult{am.sdkName, rule.RuleWithPre + "" + "false", rule.Sort} } - } else { - return LittleRuleResult{} + } else if rule.SdkArgAlias == "" { + if am.targetNum > 0 { + return LittleRuleResult{am.sdkName, rule.RuleWithPre + "" + "true", rule.Sort} + } else { + return LittleRuleResult{am.sdkName, rule.RuleWithPre + "" + "false", rule.Sort} + } } - - } else { - return LittleRuleResult{} } } + return LittleRuleResult{} } // 濡傛灉鏈夋寔缁椂闂存潯浠剁淮鎶ゅ紑鍚竴涓畾鏃跺櫒 @@ -751,18 +755,6 @@ result, _ := expression.Evaluate(nil) // 寰楀埌鏁板鍏紡鐨勭粨鏋� return LittleRuleResult{am.sdkName, rule.RuleWithPre + " " + strconv.FormatBool(result.(bool)), rule.Sort} // 鍔犱笂鍏充簬绠楁硶鐨勫垽鏂潯浠讹紝涓嶈兘鍙湁鍏充簬瑙勫垯鐨勶紝鏈夌殑绠楁硶鏈韩灏辨槸涓�涓鍒欙紝濡備釜浣撻潤姝紝闈犲彸琛�,鎵�浠ワ紝鎷垮埌褰撳墠瀛愯鍒欑殑sdkid鏉ュ垽鏂槸鍚︽槸閭d簺鐗规畩鐨勮鍒� - } else if rule.SdkId == "IsStatic" { // 闈欐绠楁硶 - if am.isStatic { - return LittleRuleResult{} - } else { - return LittleRuleResult{} - } - } else if rule.SdkId == "KeepRight" { // 闈犲彸琛岀畻娉� - if am.keepRight { - return LittleRuleResult{} - } else { - return LittleRuleResult{} - } } } return LittleRuleResult{} -- Gitblit v1.8.0