---
panlei
2019-11-08 fd059b65583d5686cf1951ec355d7845a85e6bf0
algorithm/middleware/middleware.go
@@ -2,17 +2,17 @@
import (
   "basic.com/pubsub/protomsg.git"
   "basic.com/valib/logger.git"
   "encoding/json"
   "github.com/knetic/govaluate"
   "plugin"
   "ruleprocess/cache"
   "ruleprocess/logger"
   "ruleprocess/structure"
   "strings"
   "time"
)
func Entrance (args *structure.SdkDatas,groupRule protomsg.GroupRule) {
func Entrance (args *structure.SdkDatas,groupRule protomsg.GroupRule) ([]*structure.LittleRuleResult,string,string){
   resultSplice := []*structure.LittleRuleResult{}
   sdkNames := ""
   polygonId := ""
@@ -40,8 +40,7 @@
                     }
                     // 如果此结果为真且当前过的是yolo算法,应记下此规则所对应的sdkName,另外,还要去重 (后加:把此条触碰的区域id也记录下来)
                     if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(sdkNames, sdkName) {
                        sdkNames = sdkName + ","
                        polygonId = groupRule.Rules[j].PolygonId + ","
                        sdkNames = sdkName + " "
                     }
                     if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(polygonId, groupRule.Rules[j].PolygonId) {
                        polygonId = groupRule.Rules[j].PolygonId + ","
@@ -76,11 +75,10 @@
                     }
                     // 如果此结果为真且当前过的是yolo算法,应记下此规则所对应的sdkName,另外,还要去重 (后加:把此条触碰的区域id也记录下来)
                     if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(sdkNames, sdkName) {
                        sdkNames = sdkName + ","
                        polygonId = groupRule.Rules[j].PolygonId + ","
                        sdkNames = sdkName + " "
                     }
                     if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(polygonId, groupRule.Rules[j].PolygonId) {
                        polygonId = groupRule.Rules[j].PolygonId + ","
                        polygonId = groupRule.Rules[j].PolygonId + " "
                     }
                     resultSplice = append(resultSplice, &ruleResult)
                  }
@@ -109,10 +107,10 @@
                     }
                     logger.Info("数量规则结果:", ruleResult.Result)
                     if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(sdkNames, sdkName) {
                        sdkNames = sdkName + ","
                        sdkNames = sdkName + " "
                     }
                     if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(polygonId, groupRule.Rules[j].PolygonId) {
                        polygonId = groupRule.Rules[j].PolygonId + ","
                        polygonId = groupRule.Rules[j].PolygonId + " "
                     }
                     resultSplice = append(resultSplice, &ruleResult)
                  }
@@ -139,10 +137,10 @@
                  }
                  logger.Info("时间规则结果:", ruleResult.Result)
                  if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(sdkNames, sdkName) {
                     sdkNames = sdkName + ","
                     sdkNames = sdkName + " "
                  }
                  if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(polygonId, groupRule.Rules[j].PolygonId) {
                     polygonId = groupRule.Rules[j].PolygonId + ","
                     polygonId = groupRule.Rules[j].PolygonId + " "
                  }
                  resultSplice = append(resultSplice, &ruleResult)
               }
@@ -150,6 +148,7 @@
         }
      }
   }
   return resultSplice,sdkNames,polygonId
}
func timeRuleResult(rule *protomsg.Rule, am *structure.AreaMap) structure.LittleRuleResult {
@@ -216,11 +215,16 @@
      soName = "face.so"
   } else if sdkId == "812b674b-2375-4589-919a-5c1c3278a975"{
      soName = "intrusion.so"
   } else if sdkId == "812b674b-2375-4589-919a-5c1c3278a976" {
   } else if sdkId == "812b674b-2375-4589-919a-5c1c3278a976" || sdkId == "812b674b-2375-4589-919a-5c1c3278a973" {
      soName = "personUnsual.so"
   } else if sdkId == "812b674b-2375-4589-919a-5c1c3278a972" {
      soName = "faceCompare.so"
   }
   //soInfo,errr := cache.GetSoInfoById(sdkId)
   //if errr != nil {
   //   panic("没读到注册表")
   //}
   //soName := soInfo.SoName
   p,err :=  plugin.Open("./algorithm/"+soName)
   if err != nil {
      panic(err)