From 5ba3bfd0ebcb390e3a26136dde5a3bbdd60179b6 Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期三, 27 十一月 2019 20:01:42 +0800
Subject: [PATCH] ---
---
algorithm/middleware/middleware.go | 54 ++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 48 insertions(+), 6 deletions(-)
diff --git a/algorithm/middleware/middleware.go b/algorithm/middleware/middleware.go
index 5ff0dd6..4a879ef 100644
--- a/algorithm/middleware/middleware.go
+++ b/algorithm/middleware/middleware.go
@@ -20,7 +20,13 @@
polygonId := ""
// 鍏堣繃瀹屾潯浠惰鍒�
for j := 0; j < len(groupRule.Rules); j++ {
- if groupRule.Rules[j].SdkArgAlias == "score" || groupRule.Rules[j].SdkArgAlias == "proportion" || groupRule.Rules[j].SdkArgAlias == "size" || (groupRule.Rules[j].SdkId == "812b674b-2375-4589-919a-5c1c3278a972" && groupRule.Rules[j].SdkArgAlias != "time_rule"){
+
+ carFlag := groupRule.Rules[j].SdkArgAlias == "license" || groupRule.Rules[j].SdkArgAlias == "nConfidence" || groupRule.Rules[j].SdkArgAlias == "fConfidence" ||
+ groupRule.Rules[j].SdkArgAlias == "nType" || groupRule.Rules[j].SdkArgAlias == "nVehicleColor1" || groupRule.Rules[j].SdkArgAlias == "nVehicleBright" || groupRule.Rules[j].SdkArgAlias == "nCarColor" ||
+ groupRule.Rules[j].SdkArgAlias == "fVDConf" || groupRule.Rules[j].SdkArgAlias == "nVehicleColor2" || groupRule.Rules[j].SdkArgAlias == "nColor" || groupRule.Rules[j].SdkArgAlias == "nPlateFlag"
+
+ if groupRule.Rules[j].SdkArgAlias == "score" || groupRule.Rules[j].SdkArgAlias == "proportion" || groupRule.Rules[j].SdkArgAlias == "size" ||
+ (groupRule.Rules[j].SdkId == "812b674b-2375-4589-919a-5c1c3278a972" && groupRule.Rules[j].SdkArgAlias != "time_rule") || carFlag{
for _, sdkData := range args.Sdkdata {
// 鏍规嵁瑙勫垯鐨剆dkId鏌ュ嚭鍏跺搴旂殑ipcId锛岀敤ipcId鍘绘壘璇ユ瘮瀵圭殑鏁版嵁
sdk, err := cache.GetSdkById(groupRule.Rules[j].SdkId)
@@ -31,7 +37,7 @@
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,lable,args,message)
if ruleResult.Result != "" {
@@ -92,7 +98,7 @@
}
// 涓綋闈欐
for j := 0; j < len(groupRule.Rules); j++ {
- if groupRule.Rules[j].SdkId == "812b674b-2375-4589-919a-5c1c3278a977" && 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 +109,47 @@
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,lable,args,message)
if ruleResult.Result != "" {
logger.Info("涓綋闈欐缁撴灉锛�", ruleResult.Result)
+ // 濡傛灉缁撴灉涓虹湡锛屾妸杩欐潯瑙勫垯涓殑鍖哄煙缃负鏈夋晥
+ if strings.Contains(ruleResult.Result, "true") {
+ areaMap.IsEffective = true
+ }
+ // 濡傛灉姝ょ粨鏋滀负鐪熶笖褰撳墠杩囩殑鏄痽olo绠楁硶锛屽簲璁颁笅姝よ鍒欐墍瀵瑰簲鐨剆dkName,鍙﹀锛岃繕瑕佸幓閲� (鍚庡姞锛氭妸姝ゆ潯瑙︾鐨勫尯鍩焛d涔熻褰曚笅鏉�)
+ if strings.Contains(ruleResult.Result, "true") && ipcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && !strings.Contains(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 + ","
+ }
+ resultSplice = append(resultSplice, &ruleResult)
+ }
+ }
+ }
+ }
+ }
+ }
+ // 杞﹁締
+ for j := 0; j < len(groupRule.Rules); j++ {
+ if groupRule.Rules[j].SdkId == "812b674b-2375-4589-919a-5c1c3278a978" && (groupRule.Rules[j].SdkArgAlias == "nCarCount" || groupRule.Rules[j].SdkArgAlias == "nCarLogoCount"){
+ for _, sdkData := range args.Sdkdata {
+ // 鏍规嵁瑙勫垯鐨剆dkId鏌ュ嚭鍏跺搴旂殑ipcId锛岀敤ipcId鍘绘壘璇ユ瘮瀵圭殑鏁版嵁
+ sdk, err := cache.GetSdkById(groupRule.Rules[j].SdkId)
+ if err != nil {
+ logger.Error("娌℃煡鍒皊dk鐨勪俊鎭�---", err)
+ }
+ ipcId := sdk.IpcId
+ sdkName := sdk.SdkName
+ //logger.Info("瑙勫垯鐨刬pcId涓巗dkData鐨処pcId:", ipcId, "===", sdkData.IpcId)
+ if ipcId == sdkData.IpcId {
+ logger.Info("褰撳墠璧扮殑瑙勫垯鏄�--锛�", groupRule.Rules[j],sdkName,groupRule.Rules[j].SdkArgAlias, "---","")
+ for _, areaMap := range sdkData.AreaMapList {
+ ruleResult := CallSo(sdk.Id, groupRule.Rules[j], areaMap,lable,args,message)
+ if ruleResult.Result != "" {
+ logger.Info("杞︾墝缁撴灉锛�", ruleResult.Result)
// 濡傛灉缁撴灉涓虹湡锛屾妸杩欐潯瑙勫垯涓殑鍖哄煙缃负鏈夋晥
if strings.Contains(ruleResult.Result, "true") {
areaMap.IsEffective = true
@@ -291,7 +333,7 @@
} else if sdkId == "812b674b-2375-4589-919a-5c1c3278a977" {
soName = "static.so"
} else if sdkId == "812b674b-2375-4589-919a-5c1c3278a978" {
- soName = "car.so"
+ soName = "plate.so"
}
//soInfo,errr := cache.GetSoInfoById(sdkId)
//if errr != nil {
@@ -306,7 +348,7 @@
if err1 != nil {
panic("娌℃湁鎵惧埌鍏ュ彛鍑芥暟")
}
- logger.Info("鍙戠粰so鐨勬暟鎹細",rule.SdkArgValue,rule.Operator,rule.SdkArgAlias)
+ 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