From 898b4344a98fc49c83f9dae64195f33db302181c Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期一, 01 七月 2019 19:09:23 +0800
Subject: [PATCH] 加缓存

---
 cache/cache.go              |   18 +++++----
 ruleserver/ruleToformula.go |   66 +++++++++++++++++---------------
 main.go                     |    4 +-
 3 files changed, 47 insertions(+), 41 deletions(-)

diff --git a/cache/cache.go b/cache/cache.go
index 4a399f8..8cec77e 100644
--- a/cache/cache.go
+++ b/cache/cache.go
@@ -70,14 +70,16 @@
 	var api dbapi.CameraApi
 	data := api.FindAllPolygons()
 	for _, item := range data {
-		cameraId :=item.CameraId
-		arr, b := cMap.Get(PREFIX_POLYGON + cameraId)
-		if b {
-			list := arr.([]protomsg.CameraPolygon)
-			list = append(list,item)
-			cMap.Set(PREFIX_POLYGON + cameraId,list)
-		} else {
-			cMap.Set(PREFIX_POLYGON + cameraId,[]protomsg.CameraPolygon{ item })
+		if item.Type != "line" {
+			cameraId :=item.CameraId
+			arr, b := cMap.Get(PREFIX_POLYGON + cameraId)
+			if b {
+				list := arr.([]protomsg.CameraPolygon)
+				list = append(list,item)
+				cMap.Set(PREFIX_POLYGON + cameraId,list)
+			} else {
+				cMap.Set(PREFIX_POLYGON + cameraId,[]protomsg.CameraPolygon{ item })
+			}
 		}
 	}
 }
diff --git a/main.go b/main.go
index 8f31a9c..c8545c9 100644
--- a/main.go
+++ b/main.go
@@ -21,8 +21,8 @@
 )
 var dbIp = flag.String("dbIp","127.0.0.1","dbserver ip")
 var dbPort = flag.Int("dbPort",8001,"default dbPort=8001")
-var surveyPort = flag.Int("surveyPort",40007,"survey port")
-var pubPort = flag.Int("pubPort",50007,"pubsub port")
+var surveyPort = flag.Int("surveyPort",40007,"survey port") //蹇冭烦
+var pubPort = flag.Int("pubPort",50007,"pubsub port") //鏁版嵁鏇存柊
 var initchan = make(chan bool)
 func main() {
 	flag.Parse()
diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go
index 4947858..7df90a0 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
 }
@@ -410,16 +412,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
 }
 
 // 鑱斿姩浠诲姟鐨勫鐞�
@@ -784,14 +787,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