From a079474001cae43352504c6cad5d2c31fcdb3f6a Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期四, 07 十一月 2019 20:05:34 +0800
Subject: [PATCH] fix bug

---
 ruleserver/ruleToformula.go |   88 +------------------------------------------
 1 files changed, 3 insertions(+), 85 deletions(-)

diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go
index 33e057d..d252a1f 100644
--- a/ruleserver/ruleToformula.go
+++ b/ruleserver/ruleToformula.go
@@ -1,19 +1,16 @@
 package ruleserver
 
 import (
+	"basic.com/pubsub/protomsg.git"
+	"github.com/knetic/govaluate"
 	"plugin"
 	"ruleprocess/cache"
-	"ruleprocess/structure"
 	"ruleprocess/logger"
 	"ruleprocess/structure"
 	"sort"
 	"strconv"
 	"strings"
 	"sync"
-	"time"
-
-	"basic.com/pubsub/protomsg.git"
-	"github.com/knetic/govaluate"
 )
 
 
@@ -78,30 +75,6 @@
 			}
 		}
 	}
-}
-
-func CallSo(sdkId string,rule *protomsg.Rule, am *structure.AreaMap) structure.LittleRuleResult{
-	// 鏍规嵁sdkId鏌ュ嚭鍏跺搴旂殑sdk鐨剆oName锛岃皟鐢ㄧ浉搴攕o鐨凟ntrance鏂规硶
-	var soName = ""
-	if sdkId == "812b674b-2375-4589-919a-5c1c3278a97e" {
-		soName = "face.so"
-	} else if sdkId == "812b674b-2375-4589-919a-5c1c3278a975"{
-		soName = "intrusion.so"
-	} else if sdkId == "812b674b-2375-4589-919a-5c1c3278a976" {
-		soName = "personUnsual.so"
-	} else if sdkId == "812b674b-2375-4589-919a-5c1c3278a972" {
-		soName = "faceCompare.so"
-	}
-	p,err :=  plugin.Open("./algorithm/"+soName)
-	if err != nil {
-		panic(err)
-	}
-	f,err1 := p.Lookup("Entrance")
-	if err1 != nil {
-		panic("娌℃湁鎵惧埌鍏ュ彛鍑芥暟")
-	}
-	ruleResult := f.(func(rule *protomsg.Rule, am *structure.AreaMap)structure.LittleRuleResult)(rule,am)
-	return ruleResult
 }
 
 func CallMiddleware(args *structure.SdkDatas,rule protomsg.GroupRule) ([]*structure.LittleRuleResult, string, string){
@@ -457,6 +430,7 @@
 
 // 濡傛灉鏈夋寔缁椂闂存潯浠剁淮鎶ゅ紑鍚竴涓畾鏃跺櫒
 func duration(rule *protomsg.Rule, groupId string, am *structure.AreaMap, args *structure.SdkDatas, message *protomsg.SdkMessage) string{
+	cacheId := ""
 	if rule.PolygonId == am.AreaId { // 棣栧厛瑙勫垯鎵�瀵瑰簲鐨勫尯鍩焛d瑕佽窡鍖哄煙鏁版嵁鐨刬d瀵圭殑涓�  閰嶇疆鐨勭畻娉曡瀵圭殑涓�
 		if rule.SdkArgAlias == "duration" { //
 			//logger.Info("褰撳墠灏忚鍒欐槸锛�---------", rule)
@@ -484,59 +458,3 @@
 	return cacheId
 }
 
-func timeRuleResult(rule *protomsg.Rule, am *structure.AreaMap) structure.LittleRuleResult {
-	if rule.PolygonId == am.AreaId { // 棣栧厛瑙勫垯鎵�瀵瑰簲鐨勫尯鍩焛d瑕佽窡鍖哄煙鏁版嵁鐨刬d瀵圭殑涓�
-		if rule.SdkArgAlias == "time_rule" { // 鍒ゆ柇鏄惁绗﹀悎鏃堕棿瑙�
-			//logger.Info("----------褰撳墠鏃堕棿瑙勫垯锛�---------", rule)
-			// 鏍规嵁鏀惧�煎瓧娈甸噷瀛樼殑鏃堕棿瑙勫垯鐨刬d鍘诲彟涓�涓〃閲屾煡闇�瑕佹瘮瀵圭殑鏃堕棿娈碉紙姣斿褰撳墠鏃堕棿鏄懆涓夛紝搴旀牴鎹尯鍩焛d鏌ュ嚭鍏跺懆涓夌殑鍑犱釜甯冮槻鏃堕棿娈碉紝鏁扮粍锛�
-			//logger.Info("鏃堕棿瑙勫垯鐨勬祴璇�")
-			now := time.Now()
-			index := getIndexOfWeek(now.Weekday().String())
-			timeList := GetTimeById(rule.SdkArgValue, index)
-			//logger.Info("褰撳ぉ鐨勬椂闂存闆嗗悎锛�----------", timeList)
-			//logger.Info("浠庢暟鎹簱涓煡鍑虹殑鏃堕棿瑙勫垯锛�", timeList)
-			// 鍒ゆ柇鍥剧墖鏁版嵁鐨勬椂闂存槸鍚︾鍚堝綋鍓嶈鍒� 鍦ㄤ竴涓嵆涓簍rue锛屽叏涓嶅湪涓篺alse
-
-			if rule.Operator == "satisfy" || rule.Operator == "==" { // 婊¤冻鎵�閫夌殑鏃堕棿瑙勫垯
-				flag := "false"
-				for _, timeSlot := range timeList {
-					formula := "'" + timeSlot.Start + "'" + "<" + "'" + am.Time + "'"
-					expression, _ := govaluate.NewEvaluableExpression(formula) // 寰楀埌鏁板鍏紡
-					result, _ := expression.Evaluate(nil)                      // 寰楀埌鏁板鍏紡鐨勭粨鏋�
-
-					formula1 := "'" + timeSlot.End + "'" + ">" + "'" + am.Time + "'"
-					expression1, _ := govaluate.NewEvaluableExpression(formula1) // 寰楀埌鏁板鍏紡
-					result1, _ := expression1.Evaluate(nil)                      // 寰楀埌鏁板鍏紡鐨勭粨鏋�
-					//logger.Info("鐪嬬湅杩欎袱灏婂ぇ绁�", result, result1)
-					if result.(bool) && result1.(bool) {
-						flag = "true"
-						break
-					}
-				}
-				return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + flag, rule.Sort}
-			}
-
-			if rule.Operator == "unsatisfy" || rule.Operator == "!=" { // 涓嶆弧瓒虫墍閫夌殑鏃堕棿瑙勫垯
-				flag := "true"
-				for _, timeSlot := range timeList {
-					formula := "'" + timeSlot.Start + "'" + " < " + "'" + am.Time + "'"
-					//logger.Info("-----------------鏃堕棿瑙勫垯涓嶆弧瓒崇殑鍏紡start锛�", formula)
-					expression, _ := govaluate.NewEvaluableExpression(formula) // 寰楀埌鏁板鍏紡
-					result, _ := expression.Evaluate(nil)                      // 寰楀埌鏁板鍏紡鐨勭粨鏋�
-
-					formula1 := "'" + timeSlot.End + "'" + " > " + "'" + am.Time + "'"
-					//logger.Info("-----------------鏃堕棿瑙勫垯涓嶆弧瓒崇殑鍏紡end锛�", formula1)
-					expression1, _ := govaluate.NewEvaluableExpression(formula1) // 寰楀埌鏁板鍏紡
-					result1, _ := expression1.Evaluate(nil)                      // 寰楀埌鏁板鍏紡鐨勭粨鏋�
-					if result.(bool) && result1.(bool) {
-						flag = "false"
-						break
-					}
-				}
-				return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + flag, rule.Sort}
-			}
-
-		}
-	}
-	return structure.LittleRuleResult{}
-}

--
Gitblit v1.8.0