From 35f6dd60f51b44b1e6b4ddaacd17f95b9aa87edc Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期一, 16 十二月 2019 15:22:50 +0800
Subject: [PATCH] 特征值从开始时就存为string
---
algorithm/intrusion/intrusion.go | 22 +++++++++++-----------
1 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/algorithm/intrusion/intrusion.go b/algorithm/intrusion/intrusion.go
index 9a50098..879318d 100644
--- a/algorithm/intrusion/intrusion.go
+++ b/algorithm/intrusion/intrusion.go
@@ -2,7 +2,6 @@
import (
"basic.com/pubsub/protomsg.git"
- "basic.com/valib/logger.git"
"github.com/knetic/govaluate"
"ruleprocess/structure"
"strconv"
@@ -21,7 +20,7 @@
func filterRule(rule *protomsg.Rule, am *structure.AreaMap) structure.LittleRuleResult {
// 澶勭悊鐨勯兘鏄痽olo鏁版嵁
if rule.SdkArgAlias == "score" || rule.SdkArgAlias == "proportion" || rule.SdkArgAlias == "size" { // 鍒ゆ柇鐨勬槸鐩镐技鍊硷紝鍗犳瘮锛屽昂瀵哥瓑杩囨护鏉′欢锛屽鏋滃啀鏈夛紝杩樺彲浠ュ啀鍔�
- logger.Debug("---------璧颁簡鍏ヤ镜绠楁硶",rule.Id,rule.SdkArgAlias,rule.Operator,rule.SdkArgValue,am.AreaId)
+ //logger.Debug("---------璧颁簡鍏ヤ镜绠楁硶",rule.Id,rule.SdkArgAlias,rule.Operator,rule.SdkArgValue,am.AreaId)
var args []*structure.Arg
if rule.RuleWithPre == "&&" {
args = am.FilterData
@@ -33,15 +32,16 @@
//logger.Debug("鐪嬬湅args锛氾細锛氾細锛�", args)
for _, arg := range args {
var formula string
- if rule.SdkArgAlias == "score" {
- formula = strconv.FormatFloat(arg.Score, 'f', -1, 64) + " " + rule.Operator + " " + rule.SdkArgValue // 寰楀埌瀛楃涓插叕寮�
- logger.Info("褰撳墠鐩镐技搴﹀皬鍏紡锛�", formula)
- } else if rule.SdkArgAlias == "proportion" {
- formula = strconv.FormatFloat(arg.Proportion, 'f', -1, 64) + " " + rule.Operator + " " + rule.SdkArgValue // 寰楀埌瀛楃涓插叕寮�
- logger.Info("褰撳墠鍗犳瘮灏忓叕寮忥細", formula)
- } else {
- formula = strconv.FormatFloat(arg.Size, 'f', -1, 64) + " " + rule.Operator + " " + rule.SdkArgValue // 寰楀埌瀛楃涓插叕寮�
- logger.Info("褰撳墠灏哄灏忓叕寮忥細", formula)
+ switch rule.SdkArgAlias {
+ case "score":
+ formula = strconv.FormatFloat(arg.Score, 'f', -1, 64) + " " + rule.Operator + " " + rule.SdkArgValue
+ //logger.Info("鐩镐技搴﹀皬鍏紡锛�", formula)
+ case "proportion":
+ formula = strconv.FormatFloat(arg.Proportion, 'f', -1, 64) + " " + rule.Operator + " " + rule.SdkArgValue
+ //logger.Info("鍗犳瘮鍏紡锛�", formula)
+ case "size":
+ formula = strconv.FormatFloat(arg.Size, 'f', -1, 64) + " " + rule.Operator + " " + rule.SdkArgValue
+ //logger.Info("灏哄灏忓叕寮忥細", formula)
}
expression, _ := govaluate.NewEvaluableExpression(formula) // 寰楀埌鏁板鍏紡
result, _ := expression.Evaluate(nil) // 寰楀埌鏁板鍏紡鐨勭粨鏋�
--
Gitblit v1.8.0