From 5d6651a0c9e966307d66769e8581e6da205faaab Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期五, 15 十一月 2019 14:25:43 +0800
Subject: [PATCH] 完善静止算法
---
algorithm/middleware/middleware.go | 27 ++++++++++++++++-----------
1 files changed, 16 insertions(+), 11 deletions(-)
diff --git a/algorithm/middleware/middleware.go b/algorithm/middleware/middleware.go
index 7eb9b21..3c890c2 100644
--- a/algorithm/middleware/middleware.go
+++ b/algorithm/middleware/middleware.go
@@ -14,7 +14,7 @@
"time"
)
-func Entrance (args *structure.SdkDatas,groupRule protomsg.GroupRule) (bool,string,string){
+func Entrance (args *structure.SdkDatas,groupRule protomsg.GroupRule,lable *structure.Others,message *protomsg.SdkMessage) (bool,string,string){
resultSplice := []*structure.LittleRuleResult{}
sdkNames := ""
polygonId := ""
@@ -31,9 +31,9 @@
sdkName := sdk.SdkName
//logger.Info("瑙勫垯鐨刬pcId涓巗dkData鐨処pcId:", ipcId, "===", sdkData.IpcId)
if ipcId == sdkData.IpcId {
- //logger.Info("褰撳墠璧扮殑瑙勫垯鏄�--锛�", sdkName, "---","")
+ logger.Info("褰撳墠璧扮殑瑙勫垯鏄�--锛�", groupRule.Rules[j],sdkName,groupRule.Rules[j].SdkArgAlias, "---","")
for _, areaMap := range sdkData.AreaMapList {
- ruleResult := CallSo(sdk.Id, groupRule.Rules[j], areaMap)
+ ruleResult := CallSo(sdk.Id, groupRule.Rules[j], areaMap,lable,args,message)
if ruleResult.Result != "" {
logger.Info("鏉′欢瑙勫垯缁撴灉锛�", ruleResult.Result)
// 濡傛灉缁撴灉涓虹湡锛屾妸杩欐潯瑙勫垯涓殑鍖哄煙缃负鏈夋晥
@@ -69,7 +69,7 @@
if ipcId == sdkData.IpcId {
//logger.Info("褰撳墠璧扮殑瑙勫垯鏄�--锛�", sdkName, "---","")
for _, areaMap := range sdkData.AreaMapList {
- ruleResult := CallSo(sdk.Id, groupRule.Rules[j], areaMap)
+ ruleResult := CallSo(sdk.Id, groupRule.Rules[j], areaMap,lable,args,message)
if ruleResult.Result != "" {
logger.Info("浜鸿劯姣斿瑙勫垯缁撴灉锛�", ruleResult.Result)
// 濡傛灉缁撴灉涓虹湡锛屾妸杩欐潯瑙勫垯涓殑鍖哄煙缃负鏈夋晥
@@ -92,7 +92,7 @@
}
// 涓綋闈欐
for j := 0; j < len(groupRule.Rules); j++ {
- if groupRule.Rules[j].SdkId == "812b674b-2375-4589-919a-5c1c3278a972" && groupRule.Rules[j].SdkArgAlias != "time_rule"{
+ if groupRule.Rules[j].SdkId == "812b674b-2375-4589-919a-5c1c3278a977" && groupRule.Rules[j].SdkArgAlias == "duration"{
for _, sdkData := range args.Sdkdata {
// 鏍规嵁瑙勫垯鐨剆dkId鏌ュ嚭鍏跺搴旂殑ipcId锛岀敤ipcId鍘绘壘璇ユ瘮瀵圭殑鏁版嵁
sdk, err := cache.GetSdkById(groupRule.Rules[j].SdkId)
@@ -103,11 +103,11 @@
sdkName := sdk.SdkName
//logger.Info("瑙勫垯鐨刬pcId涓巗dkData鐨処pcId:", ipcId, "===", sdkData.IpcId)
if ipcId == sdkData.IpcId {
- //logger.Info("褰撳墠璧扮殑瑙勫垯鏄�--锛�", sdkName, "---","")
+ logger.Info("褰撳墠璧扮殑瑙勫垯鏄�--锛�", groupRule.Rules[j],sdkName,groupRule.Rules[j].SdkArgAlias, "---","")
for _, areaMap := range sdkData.AreaMapList {
- ruleResult := CallSo(sdk.Id, groupRule.Rules[j], areaMap)
+ ruleResult := CallSo(sdk.Id, groupRule.Rules[j], areaMap,lable,args,message)
if ruleResult.Result != "" {
- logger.Info("浜鸿劯姣斿瑙勫垯缁撴灉锛�", ruleResult.Result)
+ logger.Info("涓綋闈欐缁撴灉锛�", ruleResult.Result)
// 濡傛灉缁撴灉涓虹湡锛屾妸杩欐潯瑙勫垯涓殑鍖哄煙缃负鏈夋晥
if strings.Contains(ruleResult.Result, "true") {
areaMap.IsEffective = true
@@ -139,7 +139,7 @@
sdkName := sdk.SdkName
if ipcId == sdkData.IpcId {
for _, areaMap := range sdkData.AreaMapList {
- ruleResult := CallSo(sdk.Id, groupRule.Rules[j], areaMap)
+ ruleResult := CallSo(sdk.Id, groupRule.Rules[j], areaMap,lable,args,message)
if ruleResult.Result != "" {
if strings.Contains(ruleResult.Result, "true") {
areaMap.IsEffective = true
@@ -277,7 +277,7 @@
return structure.LittleRuleResult{}
}
-func CallSo(sdkId string,rule *protomsg.Rule, am *structure.AreaMap) structure.LittleRuleResult{
+func CallSo(sdkId string,rule *protomsg.Rule, am *structure.AreaMap,lable *structure.Others,args *structure.SdkDatas,message *protomsg.SdkMessage) structure.LittleRuleResult{
// 鏍规嵁sdkId鏌ュ嚭鍏跺搴旂殑sdk鐨剆oName锛岃皟鐢ㄧ浉搴攕o鐨凟ntrance鏂规硶
var soName = ""
if sdkId == "812b674b-2375-4589-919a-5c1c3278a97e" {
@@ -288,6 +288,10 @@
soName = "personUnsual.so"
} else if sdkId == "812b674b-2375-4589-919a-5c1c3278a972" {
soName = "faceCompare.so"
+ } else if sdkId == "812b674b-2375-4589-919a-5c1c3278a977" {
+ soName = "static.so"
+ } else if sdkId == "812b674b-2375-4589-919a-5c1c3278a978" {
+ soName = "car.so"
}
//soInfo,errr := cache.GetSoInfoById(sdkId)
//if errr != nil {
@@ -302,7 +306,8 @@
if err1 != nil {
panic("娌℃湁鎵惧埌鍏ュ彛鍑芥暟")
}
- ruleResult := f.(func(rule *protomsg.Rule, am *structure.AreaMap)structure.LittleRuleResult)(rule,am)
+ logger.Info("鍙戠粰so鐨勬暟鎹細",sdkId,rule.SdkArgValue,rule.Operator,rule.SdkArgAlias)
+ ruleResult := f.(func(rule *protomsg.Rule, am *structure.AreaMap,lable *structure.Others, args *structure.SdkDatas,message *protomsg.SdkMessage)structure.LittleRuleResult)(rule,am,lable,args,message)
return ruleResult
}
--
Gitblit v1.8.0