From c775ea17ffd8b064fb5109567e89a169299373a1 Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期三, 10 七月 2019 17:24:36 +0800
Subject: [PATCH] 更新cache

---
 go.sum                      |    2 +
 go.mod                      |    2 
 ruleserver/ruleToformula.go |   61 ++++++++++++++----------------
 3 files changed, 31 insertions(+), 34 deletions(-)

diff --git a/go.mod b/go.mod
index 63ce5d1..058c38f 100644
--- a/go.mod
+++ b/go.mod
@@ -4,7 +4,7 @@
 
 require (
 	basic.com/dbapi.git v0.0.0-20190701055817-73bca225181f
-	basic.com/pubsub/cache.git v0.0.0-20190708074039-d25f504c5fab
+	basic.com/pubsub/cache.git v0.0.0-20190710092005-5d7ea0a4cbbc
 	basic.com/pubsub/protomsg.git v0.0.0-20190709070734-b34c868adcc2
 	basic.com/valib/deliver.git v0.0.0-20190531095353-25d8c3b20051
 	basic.com/valib/gopherdiscovery.git v0.0.0-20190605034340-15d89d8b4e28
diff --git a/go.sum b/go.sum
index 2e353a4..1f6db53 100644
--- a/go.sum
+++ b/go.sum
@@ -2,6 +2,8 @@
 basic.com/dbapi.git v0.0.0-20190701055817-73bca225181f/go.mod h1:eDXPnxaz6jZPDvBSk7ya7oSASWPCuUEgRTJCjsfKt/Q=
 basic.com/pubsub/cache.git v0.0.0-20190708074039-d25f504c5fab h1:5JZi7kAh7b0LH4dV0XzIR32KjmW9va331/K6dqZJLfo=
 basic.com/pubsub/cache.git v0.0.0-20190708074039-d25f504c5fab/go.mod h1:gHLJZz2ee1cGL0X0ae69fs56bAxkDgEQwDhhXZJNUcY=
+basic.com/pubsub/cache.git v0.0.0-20190710092005-5d7ea0a4cbbc h1:WLWAYTyMflMnuO31RBCGJizG6Cx+xF0IRECpSNgvghs=
+basic.com/pubsub/cache.git v0.0.0-20190710092005-5d7ea0a4cbbc/go.mod h1:gHLJZz2ee1cGL0X0ae69fs56bAxkDgEQwDhhXZJNUcY=
 basic.com/pubsub/protomsg.git v0.0.0-20190708093242-02e81455712c h1:p6bCit0NDQvC9ziK9Zf815LXgTYWxjr4mn99gcdehyk=
 basic.com/pubsub/protomsg.git v0.0.0-20190708093242-02e81455712c/go.mod h1:un5NV5VWQoblVLZfx1Rt5vyLgwR0jI92d3VJhfrJhWU=
 basic.com/pubsub/protomsg.git v0.0.0-20190709070734-b34c868adcc2 h1:ygh9CQPS48KmXv+PNUrOcrMqIiDZOs11apnQdu9oGEY=
diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go
index 7eed9d7..5036dd4 100644
--- a/ruleserver/ruleToformula.go
+++ b/ruleserver/ruleToformula.go
@@ -237,7 +237,7 @@
 			}
 		}
 	}
-	// 浣滃紛锛岀洿鎺ヨ鍏舵瘮瀵瑰叏閮ㄥ簳搴�
+	// 涓轰簡娴嬭瘯浣滀笅寮婏紝鐩存帴璁╁叾姣斿鍏ㄩ儴搴曞簱
 	compareFlag = 1
 	if compareFlag == 0 {
 		logger.Info("娌℃湁閰嶇疆瀵规瘮搴曞簱鍙傛暟")
@@ -390,17 +390,9 @@
 				logger.Error("娌℃煡鍒皊dk鐨勪俊鎭�---", err)
 			}
 			ipcId := sdk.IpcId
-			sdkName := sdk.SdkName
 			if ipcId == sdkData.IpcId {
 				for _, areaMap := range sdkData.AreaMapList {
-					ruleResult := duration(groupRule.Rules[j], &areaMap, args)
-					if ruleResult.Result != "" {
-						logger.Info("鏃堕棿瑙勫垯缁撴灉锛�", ruleResult.Result)
-						if ruleResult.Result == "true" && !strings.Contains(sdkNames, sdkName) {
-							sdkNames = sdkName + ","
-						}
-						resultSplice = append(resultSplice, &ruleResult)
-					}
+					duration(groupRule.Rules[j], &areaMap, args)
 				}
 			}
 		}
@@ -440,29 +432,10 @@
 					timeEle.N = timeEle.InitN // 閲嶇疆瀹氭椂鍣�
 				}
 			}
-			logger.Info("-------------------閲嶇疆鍙兘瀛樺湪鐨勫畾鏃跺櫒骞惰繑鍥瀎alse---------------")
+			logger.Info("-------------------閲嶇疆鐩稿叧鐨勫畾鏃跺櫒骞惰繑鍥瀎alse---------------")
 			return false
 		} else {
-			// 鏈�鍚庢垚鍔熸姤璀︽墠鎶婄鍚堟潯浠剁殑浜鸿劯鏁版嵁濉炶繘缁撴灉鏍囩閲�
-			faces := []Arg{}
-			faceFlag := false
-			for j := 0; j < len(groupRule.Rules); j++ {
-				if groupRule.Rules[j].SdkId == "812b674b-2375-4589-919a-5c1c3278a97e" || groupRule.Rules[j].SdkId == "812b674b-2375-4589-919a-5c1c3278a972" {
-					faceFlag = true
-				}
-			}
-			for _, sdkData := range args.Sdkdata {
-				if sdkData.IpcId == "A8B73405-373D-4F23-CED2-A617EBD7EC55" && faceFlag { // sdkData閲屾湁浜鸿劯鏁版嵁涓旈厤缃簡绠楁硶鎵嶆妸绗﹀悎鏉′欢鐨勬暟鎹杩涙爣绛鹃噷鍘�
-					for _, areaMap := range sdkData.AreaMapList {
-						faces = append(faces, putFaceToResult(&areaMap)...)
-					}
-				}
-			}
-			// 閰嶄簡浜鸿劯鐨勭畻娉曟墠鎶婁汉鑴哥殑鏁版嵁鐢╁嚭鏉ユ墦鏍囩
-			if faceFlag {
-				args.RuleResult["face"] = faces
-			}
-			// 鍘荤湅姹犲瓙閲屾槸鍚︽湁涓庢湰甯ф暟鎹湁鍏崇殑瀹氭椂鍣紝濡傛灉鏈夛紝鐪嬫鏃舵槸鍚﹁蛋鍒�0锛屾病鏈夋瀹氭椂鍣ㄦ垨鏈夊畾鏃跺櫒璧板埌0鐨勮瘽杩斿洖鎴愬姛鎶ヨ
+			// 鍒ゆ柇鎸佺画鏃堕棿鏉′欢锛屽幓鐪嬫睜瀛愰噷鏄惁鏈変笌鏈抚鏁版嵁鏈夊叧鐨勫畾鏃跺櫒锛屽鏋滄湁锛岀湅姝ゆ椂鏄惁璧板埌0锛屾病鏈夋瀹氭椂鍣ㄦ垨鏈夊畾鏃跺櫒璧板埌0鐨勮瘽杩斿洖鎴愬姛鎶ヨ
 			var flag bool = true
 			for k, timeEle := range TimeEleList {
 				if strings.Contains(k, taskId) {
@@ -473,6 +446,25 @@
 				}
 			}
 			if flag {
+				// 鏈�鍚庢垚鍔熸姤璀︽墠鎶婄鍚堟潯浠剁殑浜鸿劯鏁版嵁濉炶繘缁撴灉鏍囩閲�
+				// 閰嶄簡浜鸿劯鐨勭畻娉曟墠鎶婁汉鑴哥殑鏁版嵁鐢╁嚭鏉ユ墦鏍囩
+				faces := []Arg{}
+				faceFlag := false
+				for j := 0; j < len(groupRule.Rules); j++ {
+					if groupRule.Rules[j].SdkId == "812b674b-2375-4589-919a-5c1c3278a97e" || groupRule.Rules[j].SdkId == "812b674b-2375-4589-919a-5c1c3278a972" {
+						faceFlag = true
+					}
+				}
+				for _, sdkData := range args.Sdkdata {
+					if sdkData.IpcId == "A8B73405-373D-4F23-CED2-A617EBD7EC55" && faceFlag { // sdkData閲屾湁浜鸿劯鏁版嵁涓旈厤缃簡绠楁硶鎵嶆妸绗﹀悎鏉′欢鐨勬暟鎹杩涙爣绛鹃噷鍘�
+						for _, areaMap := range sdkData.AreaMapList {
+							faces = append(faces, putFaceToResult(&areaMap)...)
+						}
+					}
+				}
+				if faceFlag {
+					args.RuleResult["face"] = faces
+				}
 				logger.Warn("___________________________________________________________________________缁堜簬璧板畬涓囬噷闀垮緛")
 				// 鎶婁粬浠殑浣嶇疆鏁版嵁涔熶紶涓嬪幓
 				locations := []Rect{}
@@ -802,7 +794,7 @@
 	}
 }
 
-// 閮借繃婊ゅ畬鏉′欢涔嬪悗鐪嬬湅鏄惁瑕佸垱寤轰竴涓畾鏃跺櫒鍏冪礌 鍒涘缓瀹氭椂鍣ㄧ殑鏉′欢锛氭槸鍚︽湁闈犲彸琛岋紝涓綋闈欐绛夎嚜甯﹀畾鏃跺櫒鍚箟鐨勭畻娉曚互鍙婃槸鍚︽湁鎸佺画鏃堕棿
+// 閮借繃婊ゅ畬鏉′欢涔嬪悗鐪嬬湅鏄惁婊¤冻鎸佺画鏃堕棿鏉′欢
 func duration(rule *protomsg.Rule, am *AreaMap, args *SdkDatas) LittleRuleResult{
 	if rule.PolygonId == am.areaId { // 棣栧厛瑙勫垯鎵�瀵瑰簲鐨勫尯鍩焛d瑕佽窡鍖哄煙鏁版嵁鐨刬d瀵圭殑涓�  閰嶇疆鐨勭畻娉曡瀵圭殑涓�
 		if rule.SdkArgAlias == "duration" { //
@@ -813,7 +805,10 @@
 					flag = false // 鏈夊氨缃负false
 					logger.Info("鏈夎繖涓畾鏃跺櫒锛屼笉鍐嶅垱寤轰簡锛�")
 					// 鐪嬬湅瀹氭椂鍣ㄤ腑鐨勫�兼槸鍚︿负0 濡傛灉涓�0搴旇鎶ヨ锛屽鏋滀笉涓�0杩斿洖false锛屾湭杈惧埌鎸佺画鏃堕棿鐨勮姹�
-					if value.N == 0 {
+					if value.N == 0 && !value.AlarmFlag{
+						// 鎶ヨ涔嬪悗鏀逛负缃负true 鍚庨潰鐨勬姤璀﹀浘鐗囧氨涓嶆姤浜�,椤轰究鎶婄紦瀛樼殑閭e紶鍥剧墖涔熺粰缁撴灉鏍囩
+						value.AlarmFlag = true
+						args.RuleResult["cacheData"] = value.CacheSdkData
 						return LittleRuleResult{am.sdkName, "true" + "" + rule.RuleWithPre, rule.Sort}
 					}else {
 						logger.Info("------------------------------鎸佺画鏃堕棿鏉′欢涓嶆弧瓒�")

--
Gitblit v1.8.0