From f800147e68f2831ef3233555b7e2b3499b35bc5e Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期一, 09 十二月 2019 14:28:32 +0800
Subject: [PATCH] 切回原来日志包

---
 labelFilter/ruleForLabel.go |   46 +++++++++++++++++++++++++++++++---------------
 1 files changed, 31 insertions(+), 15 deletions(-)

diff --git a/labelFilter/ruleForLabel.go b/labelFilter/ruleForLabel.go
index ef2ca9f..17c5015 100644
--- a/labelFilter/ruleForLabel.go
+++ b/labelFilter/ruleForLabel.go
@@ -3,14 +3,21 @@
 import (
 	"basic.com/dbapi.git"
 	"basic.com/pubsub/protomsg.git"
-	"ruleprocess/logger"
+	"basic.com/valib/logger.git"
+	"github.com/golang/protobuf/proto"
 	"github.com/knetic/govaluate"
 	"ruleprocess/structure"
 	"strconv"
 	"time"
 )
 
-func Judge(msg structure.ResultMsg) {
+func PushSomthing(msg structure.ResultMsg) {
+	defer func() {
+		if err := recover(); err != nil {
+			logger.Error("浜嬩欢鎺ㄩ�佹ā鍧楀効鐨勫紓甯告崟鑾凤細",err)
+		}
+	}()
+	start := time.Now()
 	// 瑁呴厤鎴愯嚜宸卞彲浠ヨ瘑鍒殑鏁版嵁
 	label := new(Label)
 	label.DataFormatToLabel(msg)
@@ -33,7 +40,7 @@
 			timeFlag := timeJudge(label, ruleGroup)
 			if !timeFlag {
 				logger.Info("涓嶅湪瑙勫垯鐨勬椂闂磋寖鍥村唴锛屼笉鎺ㄩ�侊紒")
-				return
+				continue
 			}
 			result := ""
 			var Connector string
@@ -77,6 +84,7 @@
 					logger.Info("閫氳繃瑙勫垯锛岃〃杈惧紡涓猴細", result)
 					// 鎺ㄩ�佹湇鍔″櫒
 					pushData(ruleGroup.Urls, msg)
+					logger.Info("鏃堕棿鎺ㄩ�佹墍鐢ㄦ椂闂达細",time.Since(start))
 					//os.Exit(1)
 				} else {
 					logger.Info("娌¢�氳繃瑙勫垯,琛ㄨ揪寮忎负锛�", result)
@@ -152,7 +160,7 @@
 func baseJudge(label *Label, rule *protomsg.EventPushRule) string {
 	if rule.RuleValue == "all" {
 		for _, personGroup := range label.Persons {
-			for _, arg := range personGroup.Args {
+			for _, arg := range personGroup.AlarmObj {
 				if len(arg.Liker) > 0 {
 					logger.Info("婊¤冻鍏ㄩ儴搴曞簱瑙勫垯")
 					return "true"
@@ -162,7 +170,7 @@
 		return "false"
 	} else {
 		for _, personGroup := range label.Persons {
-			for _, arg := range personGroup.Args {
+			for _, arg := range personGroup.AlarmObj {
 				for _, liker := range arg.Liker {
 					formula := "'" + liker.TableId + "'" + rule.Operator + "'" + rule.RuleValue + "'"
 					expression, err := govaluate.NewEvaluableExpression(formula);
@@ -191,7 +199,7 @@
 //鏄惁绗﹀悎浜哄憳瑙勫垯
 func personJudge(label *Label, rule *protomsg.EventPushRule) string {
 	for _, personGroup := range label.Persons {
-		for _, person := range personGroup.Args {
+		for _, person := range personGroup.AlarmObj {
 			formula := ""
 			if rule.TopicArg == "sex" {
 				formula = strconv.Itoa(int(person.ThftRes.Gender)) + rule.Operator + rule.RuleValue
@@ -224,7 +232,7 @@
 		}
 		if rule.TopicArg == "monitorLevel" {
 			if rule.RuleValue == "all" {
-				if len(personGroup.Args) > 0 {
+				if len(personGroup.AlarmObj) > 0 {
 					logger.Info("绗﹀悎浜哄憳绛夌骇涓哄叏閮ㄧ殑瑙勫垯")
 					return "true"
 				}
@@ -258,10 +266,10 @@
 func defenceJudge(label *Label, rule *protomsg.EventPushRule) string {
 	if rule.RuleValue == "all" { // 甯冮槻绛夌骇涓哄叏閮ㄦ椂鍙湁鏈夊竷闃茬瓑绾у嵆涓洪�氳繃
 		if len(label.DefenceLevel) > 0 {
-			logger.Info("绗﹀悎甯冮槻绛夌骇瑙勫垯锛屽竷闃茬瓑绾т负鍏ㄩ儴")
+			//logger.Info("绗﹀悎甯冮槻绛夌骇瑙勫垯锛屽竷闃茬瓑绾т负鍏ㄩ儴")
 			return "true"
 		} else {
-			logger.Info("涓嶇鍚堝竷闃茬瓑绾ц鍒�")
+			//logger.Info("涓嶇鍚堝竷闃茬瓑绾ц鍒�")
 			return "false"
 		}
 	} else {
@@ -279,11 +287,11 @@
 				//return "false"
 			}
 			if result.(bool) {
-				logger.Info("绗﹀悎甯冮槻绛夌骇瑙勫垯!")
+				//logger.Info("绗﹀悎甯冮槻绛夌骇瑙勫垯!")
 				return "true"
 			}
 		}
-		logger.Info("涓嶇鍚堝竷闃茬瓑绾ц鍒�")
+		//logger.Info("涓嶇鍚堝竷闃茬瓑绾ц鍒�")
 		return "false"
 	}
 }
@@ -303,19 +311,27 @@
 		return "false"
 	}
 	if result.(bool) {
-		logger.Info("绗﹀悎浠诲姟瑙勫垯!")
+		//logger.Info("绗﹀悎浠诲姟瑙勫垯!")
 		return "true"
 	}
-	logger.Info("涓嶇鍚堜换鍔¤鍒�")
+	//logger.Info("涓嶇鍚堜换鍔¤鍒�")
 	return "false"
 }
 
 // 璋冪敤鐩爣鏈嶅姟鍣ㄧ殑鎻掑叆鎺ュ彛
 func pushData(urls []*protomsg.PushUrl, data structure.ResultMsg) {
 	for _, url := range urls {
-		logger.Debug("鐪嬬湅鎺ㄩ�佸湴鍧�锛�",url.Url)
-		Push("tcp://192.168.1.123:40012", data)
+		//logger.Debug("鎺ㄩ�佸湴鍧�锛�",url.Url)
+		bytes,err1 := proto.Marshal(data)
+		if err1 != nil {
+			logger.Info("搴忓垪鍖栧け璐ワ細",err1)
+		}
+		if _, ok := urlPool[url.Url] ; ok {
+			urlPool[url.Url] <- bytes
+		}
+
 	}
+
 }
 
 // 鎶婃姤璀︾瓑绾ц浆鍖栨垚姹夊瓧

--
Gitblit v1.8.0