From d4c91ea1e23a594ee8eeb7248741e1aac4ff870e Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期二, 02 七月 2019 15:24:10 +0800
Subject: [PATCH] ---

---
 ruleserver/ruleToformula.go |   73 ++++++++++++++++++++----------------
 1 files changed, 40 insertions(+), 33 deletions(-)

diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go
index 4947858..565930f 100644
--- a/ruleserver/ruleToformula.go
+++ b/ruleserver/ruleToformula.go
@@ -4,12 +4,12 @@
 	"encoding/json"
 	"fmt"
 	"log"
+	"ruleprocess/cache"
 	"sort"
 	"strconv"
 	"strings"
 	"time"
 
-	"basic.com/dbapi.git"
 	"basic.com/pubsub/protomsg.git"
 	"github.com/knetic/govaluate"
 )
@@ -159,19 +159,21 @@
 
 // 鏍规嵁鎽勫儚鏈篿d鎷垮埌鎽勫儚鏈烘墍鏈夊尯鍩�
 func GetPolygons(cameraId string) []protomsg.CameraPolygon {
-	var api dbapi.CameraApi
-	data := api.FindAllPolygons()
-	//fmt.Println("鏌ュ埌鐨勬墍鏈夊尯鍩燂細", data)
-	// 鏍规嵁id浠巑ap涓嬁鍒板尯鍩�
+	//var api dbapi.CameraApi
+	//data := api.FindAllPolygons()
+	////fmt.Println("鏌ュ埌鐨勬墍鏈夊尯鍩燂細", data)
+	//// 鏍规嵁id浠巑ap涓嬁鍒板尯鍩�
 	var cameraPolygons []protomsg.CameraPolygon
-	for _, item := range data {
-		if item.CameraId == cameraId && item.Type != "line" {
-			// 闇�瑕佹牴鎹瘮渚嬫妸鍓嶅彴鐢荤殑鍖哄煙鐨勫潗鏍囪浆鍖栦负鐩稿簲鎽勫儚鏈烘媿鎽勭殑鍥惧儚鐨勫ぇ灏�   x鍧愭爣鍒嗗埆*image.width/椤甸潰鍖哄煙瀹�  y鍧愭爣鍒嗗埆*image.height/椤甸潰鍖哄煙楂�
-			// 鍓嶅彴瀹介珮鍥哄畾
-			//log.Println("------------绗﹀悎鏉′欢鐨勫尯鍩燂細",item)
-			cameraPolygons = append(cameraPolygons, item)
-		}
-	}
+	//for _, item := range data {
+	//	if item.CameraId == cameraId && item.Type != "line" {
+	//		// 闇�瑕佹牴鎹瘮渚嬫妸鍓嶅彴鐢荤殑鍖哄煙鐨勫潗鏍囪浆鍖栦负鐩稿簲鎽勫儚鏈烘媿鎽勭殑鍥惧儚鐨勫ぇ灏�   x鍧愭爣鍒嗗埆*image.width/椤甸潰鍖哄煙瀹�  y鍧愭爣鍒嗗埆*image.height/椤甸潰鍖哄煙楂�
+	//		// 鍓嶅彴瀹介珮鍥哄畾
+	//		//log.Println("------------绗﹀悎鏉′欢鐨勫尯鍩燂細",item)
+	//		cameraPolygons = append(cameraPolygons, item)
+	//	}
+	//}
+	cameraPolygons = cache.GetPolygonsByCameraId(cameraId)
+
 	//log.Println("鏍规嵁鎽勫儚鏈篿d鏌ュ埌鐨勫尯鍩�", cameraPolygons, "--鍖哄煙鏁伴噺涓猴細", len(cameraPolygons))
 	return cameraPolygons
 }
@@ -203,10 +205,12 @@
 		args.RuleResult = make(map[string]interface{})
 		args.RuleResult["yolo"] = []Result{}
 		args.RuleResult["face"] = []Arg{}
+		log.Println("--------------浠诲姟缁勪笅鐨勮鍒欑粍鐨勬暟閲忥細",len(taskRuleList))
 		if len(taskRuleList) > 0 {
 			for _, taskRule := range taskRuleList {
 				ruleList := taskRule.GroupRules // 鑾峰彇鐨勬槸task涓嬮潰鐨勪换鍔$粍
 				taskId := taskRule.TaskId
+				log.Println("000000000000000000000000000000000000000杩欑粍浠诲姟涓嬬殑瑙勫垯缁勭殑鏁伴噺锛�",len(ruleList))
 				for i := 0; i < len(ruleList); i++ {
 					temp := ruleList[i].Rules // temp涓轰竴缁勫畬鏁磋鍒� 鍦ㄦ闇�瑕佸垽鏂鍒欐槸鍚︽槸鑱斿姩瑙勫垯
 					if len(temp) > 0 {
@@ -230,6 +234,7 @@
 		}
 
 	}()
+	log.Println("++++++++++++++++++++++++++++瑙勫垯寮�濮嬭繍琛�+++++++++++++++++++++++++")
 	resultSplice := []*LittleRuleResult{}
 	// 鍏堣繃瀹屾潯浠惰鍒�
 	for j := 0; j < len(groupRule.Rules); j++ {
@@ -410,16 +415,17 @@
 func GetRuleGroup(cameraId string) []*protomsg.TaskGroupArgs {
 	// 鏌ヨ鏁版嵁搴�
 	// 绗竴姝ユ煡鍑鸿窡杩欎釜鎽勫儚鏈虹浉鍏崇殑group_id(澶ц鍒�)
-	var api dbapi.CameraTaskArgsApi
-	all := api.FindAll()
-	//fmt.Println("鎵�鏈夎鍒�:", all)
-	var taskArgs []*protomsg.TaskGroupArgs
-	for _, camArg := range all {
-		if camArg.CameraId == cameraId {
-			taskArgs = camArg.TaskArgs
-		}
-	}
-	return taskArgs
+	//var api dbapi.CameraTaskArgsApi
+	//
+	////fmt.Println("鎵�鏈夎鍒�:", all)
+	//var taskArgs []*protomsg.TaskGroupArgs
+	//for _, camArg := range all {
+	//	if camArg.CameraId == cameraId {
+	//		taskArgs = camArg.TaskArgs
+	//	}
+	//}
+	all := cache.GetCameraTaskRulesByCameraId(cameraId)
+	return all
 }
 
 // 鑱斿姩浠诲姟鐨勫鐞�
@@ -715,7 +721,7 @@
 	return LittleRuleResult{}
 }
 func timeRuleResult(rule *protomsg.Rule, am *AreaMap) LittleRuleResult {
-	if rule.PolygonId == am.areaId { // 棣栧厛瑙勫垯鎵�瀵瑰簲鐨勫尯鍩焛d瑕佽窡鍖哄煙鏁版嵁鐨刬d瀵圭殑涓�
+	if rule.PolygonId == am.areaId && rule.SdkId == am.sdkId{ // 棣栧厛瑙勫垯鎵�瀵瑰簲鐨勫尯鍩焛d瑕佽窡鍖哄煙鏁版嵁鐨刬d瀵圭殑涓�
 		if rule.SdkArgAlias == "time_rule" { // 鍒ゆ柇鏄惁绗﹀悎鏃堕棿瑙勫垯
 			log.Println("----------褰撳墠鏃堕棿瑙勫垯锛�---------",rule)
 			// 鏍规嵁鏀惧�煎瓧娈甸噷瀛樼殑鏃堕棿瑙勫垯鐨刬d鍘诲彟涓�涓〃閲屾煡闇�瑕佹瘮瀵圭殑鏃堕棿娈碉紙姣斿褰撳墠鏃堕棿鏄懆涓夛紝搴旀牴鎹尯鍩焛d鏌ュ嚭鍏跺懆涓夌殑鍑犱釜甯冮槻鏃堕棿娈碉紝鏁扮粍锛�
@@ -723,7 +729,7 @@
 			now := time.Now()
 			index := getIndexOfWeek(now.Weekday().String())
 			timeList := GetTimeById(rule.SdkArgValue, index)
-			log.Println("褰撳ぉ鐨勬椂闂磋鍒欙細----------",timeList)
+			log.Println("褰撳ぉ鐨勬椂闂存闆嗗悎锛�----------",timeList)
 			//fmt.Println("浠庢暟鎹簱涓煡鍑虹殑鏃堕棿瑙勫垯锛�", timeList)
 			// 鍒ゆ柇鍥剧墖鏁版嵁鐨勬椂闂存槸鍚︾鍚堝綋鍓嶈鍒� 鍦ㄤ竴涓嵆涓簍rue锛屽叏涓嶅湪涓篺alse
 			flag := "false"
@@ -784,14 +790,15 @@
 
 // 鍙栧嚭鏌愪釜鏃堕棿瑙勫垯鐨勭鍑犲ぉ鐨勮鍒欐闆嗗悎
 func GetTimeById(id string, index int) []TimeRange {
-	var cameraTimeRule protomsg.CameraTimerule
-	var api dbapi.CameraApi
-	_, rules := api.FindAllTimeRules()
-	for _, rule := range rules {
-		if rule.Id == id {
-			cameraTimeRule = rule
-		}
-	}
+	//var cameraTimeRule protomsg.CameraTimerule
+	//var api dbapi.CameraApi
+	//_, rules := api.FindAllTimeRules()
+	//for _, rule := range rules {
+	//	if rule.Id == id {
+	//		cameraTimeRule = rule
+	//	}
+	//}
+	_,cameraTimeRule := cache.GetTimeRuleById(id)
 	var timeRangeList []day
 	json.Unmarshal([]byte(cameraTimeRule.TimeRule), &timeRangeList)
 	for _, timerange := range timeRangeList {

--
Gitblit v1.8.0