From 37e0cf80dde971cd10cf1d57377c7729b008881d Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期四, 04 七月 2019 09:46:03 +0800
Subject: [PATCH] ---

---
 ruleserver/ruleToformula.go |   18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go
index c364e65..c11831f 100644
--- a/ruleserver/ruleToformula.go
+++ b/ruleserver/ruleToformula.go
@@ -201,7 +201,6 @@
 		}
 		// 璺戞湰鎽勫儚鏈虹殑鎵�鏈夎鍒欑粍 涓�缁勪竴缁勮窇
 		taskRuleList := GetRuleGroup(args.CameraId) // 鏈憚鍍忔満涓嬫墍鏈変换鍔$粍
-		log.Println("------------------------------鏌ョ湅涓嬪叏閮ㄨ鍒欙細",taskRuleList)
 		//log.Println("鐪嬩笅鎽勫儚鏈轰笅鐨勪换鍔$粍锛�",taskRuleList)
 		// 寰楀埌灞炰簬璇ユ憚鍍忔満鐨勮嫢骞茬粍浠诲姟鐨勫畬鏁磋鍒欙紙璺熸瘡涓�鏉″畬鏁磋鍒欐瘮杈冧箣鍚庡緱鍑烘湰寮犲浘鍍忓浜庢煇涓鍒欐槸鍚︽姤璀︾殑缁撴灉銆傛斁杩沵ap锛屾瘮濡傛湰甯у浘鍍忕殑id锛屾墍纰版挒鎴愬姛鐨勮鍒檌d锛�
 		args.RuleResult = make(map[string]interface{})
@@ -209,6 +208,7 @@
 		args.RuleResult["face"] = []Arg{}
 		if len(taskRuleList) > 0 {
 			for _, taskRule := range taskRuleList {
+				//log.Println("------------------------------浠诲姟瑙勫垯锛�",taskRule)
 				ruleList := taskRule.GroupRules // 鑾峰彇鐨勬槸task涓嬮潰鐨勪换鍔$粍
 				taskId := taskRule.TaskId
 				//log.Println("------------鏈粍浠诲姟涓嬬殑瑙勫垯缁勭殑鏁伴噺锛�",len(ruleList))
@@ -217,7 +217,7 @@
 					if len(temp) > 0 {
 						if ruleList[i].SetType == "linkTask" {
 							// groupId涓惈鏈塴ink鍒欎负鑱斿姩浠诲姟
-							LinkTask(args, ruleList[i], taskId)
+							//LinkTask(args, ruleList[i], taskId)
 						} else {
 							// 鐙珛浠诲姟鐨勫鐞�
 							RunRule(args, ruleList[i], taskId)
@@ -233,7 +233,6 @@
 		if err := recover(); err != nil {
 			fmt.Println("姣斿瑙勫垯鏈夎", err.(string))
 		}
-
 	}()
 	log.Println("+++++++++++瑙勫垯寮�濮嬭繍琛�+++++++++++++++++褰撳墠瑙勫垯--锛�",(*groupRule).GroupText)
 	resultSplice := []*LittleRuleResult{}
@@ -308,7 +307,7 @@
 		completeFormula = completeFormula + va.Result
 	}
 	if completeFormula != "" {
-		log.Println("鐪嬬湅鍏紡-----------锛�", completeFormula)
+		log.Println("缁撴灉鍏紡-----------锛�", completeFormula)
 		expression, _ := govaluate.NewEvaluableExpression(completeFormula)
 		if strings.HasPrefix(completeFormula,"&&") || strings.HasPrefix(completeFormula,"||"){
 			panic("瑙勫垯鏈夎锛屽緱鍒扮殑鏁板鍏紡涓嶅彲瑙f瀽")
@@ -449,6 +448,7 @@
 // 鑱斿姩浠诲姟鐨勫鐞�
 func LinkTask(args *SdkDatas, groupRule *protomsg.GroupRule, taskId string) {
 	// new涓�涓畾鏃跺櫒锛屽鏋滀互姝roupId涓烘爣蹇楃殑瀹氭椂鍣ㄤ笉瀛樺湪鐨勮瘽
+	log.Println("------------------------------------------褰撳墠鏄仈鍔ㄤ换鍔★紝瑙勫垯鏄細",groupRule.GroupText)
 	var flag bool = true
 	var timeEle = TimeElement{N: 3, InitN: 3, GroupId: groupRule.GroupId}
 	for k, timeEle1 := range TimeEleList {
@@ -501,6 +501,7 @@
 			for _, va := range timeEle.RuleResults {
 				completeFormula = completeFormula + va.RuleWithPre + "" + va.Result
 			}
+			log.Println("---------------------------鑱斿姩浠诲姟鐨勫叕寮�",completeFormula)
 			if completeFormula != "" {
 				expression, _ := govaluate.NewEvaluableExpression(completeFormula)
 				result, _ := expression.Evaluate(nil) // 寰楀埌鏁板鍏紡鐨勭粨鏋�
@@ -597,10 +598,13 @@
 							var formula string
 							if rule.SdkArgAlias == "score" {
 								formula = strconv.FormatFloat(arg.Score, 'f', -1, 64) + " " + rule.Operator + " " + rule.SdkArgValue // 寰楀埌瀛楃涓插叕寮�
+								log.Println("褰撳墠鐩镐技搴﹀皬鍏紡锛�",formula)
 							} else if rule.SdkArgAlias == "proportion" {
 								formula = strconv.FormatFloat(arg.Proportion, 'f', -1, 64) + " " + rule.Operator + " " + rule.SdkArgValue // 寰楀埌瀛楃涓插叕寮�
+								log.Println("褰撳墠鍗犳瘮灏忓叕寮忥細",formula)
 							} else {
 								formula = strconv.FormatFloat(arg.Size, 'f', -1, 64) + " " + rule.Operator + " " + rule.SdkArgValue // 寰楀埌瀛楃涓插叕寮�
+								log.Println("褰撳墠灏哄灏忓叕寮忥細",formula)
 							}
 							expression, _ := govaluate.NewEvaluableExpression(formula) // 寰楀埌鏁板鍏紡
 							result, _ := expression.Evaluate(nil)                      // 寰楀埌鏁板鍏紡鐨勭粨鏋�
@@ -777,11 +781,13 @@
 					}
 				}
 				if rule.Operator == "unsatisfy" || rule.Operator == "!="{ // 涓嶆弧瓒虫墍閫夌殑鏃堕棿瑙勫垯
-					formula := timeSlot.Start + "<" + am.time
+					formula := timeSlot.Start + " < " + am.time
+					log.Println("-----------------鏃堕棿瑙勫垯涓嶆弧瓒崇殑鍏紡start锛�",formula)
 					expression, _ := govaluate.NewEvaluableExpression(formula) // 寰楀埌鏁板鍏紡
 					result, _ := expression.Evaluate(nil)                      // 寰楀埌鏁板鍏紡鐨勭粨鏋�
 
-					formula1 := timeSlot.End + ">" + am.time
+					formula1 := timeSlot.End + " > " + am.time
+					log.Println("-----------------鏃堕棿瑙勫垯涓嶆弧瓒崇殑鍏紡end锛�",formula1)
 					expression1, _ := govaluate.NewEvaluableExpression(formula1) // 寰楀埌鏁板鍏紡
 					result1, _ := expression1.Evaluate(nil)                      // 寰楀埌鏁板鍏紡鐨勭粨鏋�
 					if result.(bool) && result1.(bool) {

--
Gitblit v1.8.0