From c09d942e31a0a855a8690a69cc157b3ed7b5efc8 Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期一, 08 七月 2019 14:12:14 +0800
Subject: [PATCH] 根据id去查具体信息再拼装

---
 go.sum                            |    4 +-
 go.mod                            |    2 
 insertdata/insertDataToEs_test.go |    2 
 ruleserver/ruleToformula.go       |   54 +++++++++++++++------------
 4 files changed, 34 insertions(+), 28 deletions(-)

diff --git a/go.mod b/go.mod
index a0ef3c9..a808b7a 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-20190705102856-7ce9cb1cceda
+	basic.com/pubsub/cache.git v0.0.0-20190708022451-9403e8b0eaa6
 	basic.com/pubsub/protomsg.git v0.0.0-20190706093248-8cd3a0511c78
 	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 87a4f16..a23b3a4 100644
--- a/go.sum
+++ b/go.sum
@@ -1,7 +1,7 @@
 basic.com/dbapi.git v0.0.0-20190701055817-73bca225181f h1:CVB4pmUXTPPFN7w/DQfU1YWg2Tp2gG93TTr1M5W86sE=
 basic.com/dbapi.git v0.0.0-20190701055817-73bca225181f/go.mod h1:eDXPnxaz6jZPDvBSk7ya7oSASWPCuUEgRTJCjsfKt/Q=
-basic.com/pubsub/cache.git v0.0.0-20190705102856-7ce9cb1cceda h1:lWBg00n+UPFVLXo5Wx0ZADNAj6CRMquDxN3KfrDuQ9E=
-basic.com/pubsub/cache.git v0.0.0-20190705102856-7ce9cb1cceda/go.mod h1:gHLJZz2ee1cGL0X0ae69fs56bAxkDgEQwDhhXZJNUcY=
+basic.com/pubsub/cache.git v0.0.0-20190708022451-9403e8b0eaa6 h1:SisFlsnazb3r72Ao7GejllAlx2SXNXnxigm7rfvso4w=
+basic.com/pubsub/cache.git v0.0.0-20190708022451-9403e8b0eaa6/go.mod h1:gHLJZz2ee1cGL0X0ae69fs56bAxkDgEQwDhhXZJNUcY=
 basic.com/pubsub/protomsg.git v0.0.0-20190706093248-8cd3a0511c78 h1:rjF01FTFUvFc5zj3PQ1MN17z+FVYZZQInhtzn+vhMSk=
 basic.com/pubsub/protomsg.git v0.0.0-20190706093248-8cd3a0511c78/go.mod h1:un5NV5VWQoblVLZfx1Rt5vyLgwR0jI92d3VJhfrJhWU=
 basic.com/valib/deliver.git v0.0.0-20190531095353-25d8c3b20051 h1:9flC2o3kasaM2Y6I+mY+mxmve/pyAY/UzGQZLT3lFHM=
diff --git a/insertdata/insertDataToEs_test.go b/insertdata/insertDataToEs_test.go
index 1851d50..a3f46e8 100644
--- a/insertdata/insertDataToEs_test.go
+++ b/insertdata/insertDataToEs_test.go
@@ -3,5 +3,5 @@
 import "testing"
 
 func TestInsertToEs(t *testing.T){
-	InsertToEs()
+	//InsertToEs()
 }
\ No newline at end of file
diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go
index bb22dc5..360a29d 100644
--- a/ruleserver/ruleToformula.go
+++ b/ruleserver/ruleToformula.go
@@ -2,7 +2,7 @@
 
 import (
 	"encoding/json"
-	"github.com/gogo/protobuf/proto"
+	"fmt"
 	"ruleprocess/cache"
 	"ruleprocess/logger"
 	"sort"
@@ -10,7 +10,7 @@
 	"strings"
 	"time"
 
-	 bigCache "basic.com/pubsub/cache.git"
+	bigCache "basic.com/pubsub/cache.git"
 	"basic.com/pubsub/protomsg.git"
 	"github.com/knetic/govaluate"
 )
@@ -64,7 +64,7 @@
 	IsYolo     bool    // 鏄惁鏄痽olo鏁版嵁
 	Location   Rect    // 璁颁笅姣忎釜鐩爣鐨勪綅缃弬鏁帮紝鏈�鍚庣粰缁撴灉瑁呴厤浜鸿劯鏁版嵁鐨勬椂鍊欑敤鐨勫埌
 	SdkName    string
-	Feature	   []byte
+	Feature    []byte
 	ThftRes    protomsg.ThftResult
 	Liker      []*protomsg.Baseinfo
 }
@@ -234,30 +234,36 @@
 	compareFlag := false
 	// 鐪嬬湅鏄惁鏈夊彧閰嶄汉鑴告瘮瀵圭畻娉曚絾娌℃湁閰嶅姣斿簱鐨勮鍒欙紝濡傛灉鏈夛紝鍒欐瘮瀵瑰璞′负鍏ㄩ儴搴曞簱
 	for j := 0; j < len(groupRule.Rules); j++ {
-		if groupRule.Rules[j].SdkId == "812b674b-2375-4589-919a-5c1c3278a972"{
-			if groupRule.Rules[j].SdkArgAlias == "瀵规瘮搴曞簱" {
+		if groupRule.Rules[j].SdkId == "812b674b-2375-4589-919a-5c1c3278a972" {
+			if groupRule.Rules[j].SdkArgAlias == "compareBase" {
 				compareFlag = true
 			}
 		}
 	}
 	if compareFlag {
 		logger.Info("閰嶇疆浜嗗姣斿簳搴撳弬鏁�")
-	}else {
+	} else {
 		logger.Info("娌℃湁閰嶇疆瀵规瘮搴曞簱鍙傛暟")
 	}
 	for j := 0; j < len(groupRule.Rules); j++ {
-		if groupRule.Rules[j].SdkId == "812b674b-2375-4589-919a-5c1c3278a972" && groupRule.Rules[j].SdkArgAlias == "瀵规瘮搴曞簱"{
+		// 鍙湁鏄汉鑴稿姣斿苟涓旈厤缃殑鍙傛暟鏄姣斿簳搴撴墠璧帮紙鑻ラ厤鐨勫姣旈槇鍊煎垯涓嶈蛋锛�
+		if groupRule.Rules[j].SdkId == "812b674b-2375-4589-919a-5c1c3278a972" && groupRule.Rules[j].SdkArgAlias == "compareBase" {
 			for _, sdkData := range args.Sdkdata {
 				if sdkData.SdkId == "812b674b-2375-4589-919a-5c1c3278a97e" { // 鎼滅储鍒颁汉鑴告娴嬬殑sdkdata 鐜板湪鍏充簬浜鸿劯鐨勫彧鏈変粬涓�涓猻dk锛屽叏鎵句粬
 					for _, areaMap := range sdkData.AreaMapList {
 						// 鎷垮尯鍩熶腑姣忎釜浜鸿劯鐗瑰緛鍊煎幓瀵规瘮锛屽~鍏呭叾liker
 						if groupRule.Rules[j].PolygonId == areaMap.areaId {
-							for _,arg := range areaMap.args {
-								bytes := bigCache.Getdbpersonmsg(string(arg.Feature),true)
-								binfos := protomsg.Binfos{}
-								proto.Unmarshal(bytes,&binfos)
-								arg.Liker = binfos.Infos
-								logger.Info("-------------------鎴愬姛缁檒iker璧嬪�硷細",arg.Liker)
+							for _, arg := range areaMap.args {
+								bytes := bigCache.Getdbpersonmsg("", arg.Feature, true)
+								var m map[string]float32
+								json.Unmarshal(bytes, &m)
+								for key, val := range m {
+									fmt.Println(key)
+									baseinfo := protomsg.Baseinfo{}
+									baseinfo.CompareScore = val
+									arg.Liker = append(arg.Liker, &baseinfo)
+								}
+								logger.Info("-------------------鎴愬姛缁檒iker璧嬪�硷細", arg.Liker)
 							}
 						}
 					}
@@ -273,7 +279,7 @@
 		}
 	}()
 	logger.Info("+++++++++++瑙勫垯寮�濮嬭繍琛�+++++++++++++++++褰撳墠瑙勫垯--锛�", *groupRule)
-	Compare(args,groupRule)
+	Compare(args, groupRule)
 	resultSplice := []*LittleRuleResult{}
 	// 鍏堣繃瀹屾潯浠惰鍒�
 	for j := 0; j < len(groupRule.Rules); j++ {
@@ -330,12 +336,12 @@
 	if strings.HasPrefix(completeFormula, "&&") || strings.HasPrefix(completeFormula, "||") || strings.HasPrefix(completeFormula, ">=") || strings.HasPrefix(completeFormula, "<=") || strings.HasPrefix(completeFormula, "==") || strings.HasPrefix(completeFormula, "!=") || strings.HasPrefix(completeFormula, ">") || strings.HasPrefix(completeFormula, "<") {
 		// 浠ヨ繖浜涘紑澶寸殑鍩烘湰鏄仈鍔ㄤ换鍔�
 		if strings.HasPrefix(completeFormula, "&&") || strings.HasPrefix(completeFormula, "||") || strings.HasPrefix(completeFormula, ">=") || strings.HasPrefix(completeFormula, "<=") || strings.HasPrefix(completeFormula, "==") || strings.HasPrefix(completeFormula, "!=") {
-			completeFormula = completeFormula[2 :]
+			completeFormula = completeFormula[2:]
 		}
 		if strings.HasPrefix(completeFormula, ">") || strings.HasPrefix(completeFormula, "<") {
-			completeFormula = completeFormula[1 :]
+			completeFormula = completeFormula[1:]
 		}
-		logger.Info("-------------------鐪嬬湅鎷旀瘺鍚庣殑琛ㄨ揪寮忥細",completeFormula)
+		logger.Info("-------------------鐪嬬湅鎷旀瘺鍚庣殑琛ㄨ揪寮忥細", completeFormula)
 		expression, _ := govaluate.NewEvaluableExpression(completeFormula)
 		result, _ := expression.Evaluate(nil) // 寰楀埌鏁板鍏紡鐨勭粨鏋�
 		return result.(bool)
@@ -418,7 +424,7 @@
 					//if flag11 {
 					//	args.RuleResult["face"] = faces
 					//}
-					args.RuleResult["yolo"] = append(args.RuleResult["yolo"].([]Result), Result{taskId, sdkName, groupRule.GroupId, groupRule.AlarmLevel, groupRule.GroupText,locations})
+					args.RuleResult["yolo"] = append(args.RuleResult["yolo"].([]Result), Result{taskId, sdkName, groupRule.GroupId, groupRule.AlarmLevel, groupRule.GroupText, locations})
 					logger.Info("-------------------yolo缁撴灉鏍囩", args.RuleResult["yolo"].([]Result))
 				}
 				if args.RuleResult["face"] != nil {
@@ -482,7 +488,7 @@
 		if threshold <= obj.Score && size <= float64(obj.Rects.Width*obj.Rects.Height) && intersectionper <= PgsInterPercent(areaPoints, obj.Rects, widthScale, heigthScale) {
 			// 杩欐瑕佸榻愯〃杈惧紡閲屾墍闇�瑕佺殑鎵�鏈夊弬鏁�
 			a.targetNum++
-			arg1 := Arg{obj.Score, PgsInterPercent(areaPoints, obj.Rects, widthScale, heigthScale), float64(obj.Rects.Width * obj.Rects.Height), obj.IsYolo, obj.Rects, obj.SdkName, obj.Feature,obj.ThftRes,[]*protomsg.Baseinfo{}}
+			arg1 := Arg{obj.Score, PgsInterPercent(areaPoints, obj.Rects, widthScale, heigthScale), float64(obj.Rects.Width * obj.Rects.Height), obj.IsYolo, obj.Rects, obj.SdkName, obj.Feature, obj.ThftRes, []*protomsg.Baseinfo{}}
 			//logger.Println("鏀捐繘鍘荤殑arg锛�-------", arg1)
 			a.args = append(a.args, arg1)
 			a.filterData = append(a.filterData, arg1)
@@ -604,7 +610,7 @@
 						}
 					}
 					if sdkName != "" {
-						args.RuleResult["yolo"] = append(args.RuleResult["yolo"].([]Result), Result{taskId, sdkName, groupRule.GroupId, groupRule.AlarmLevel, groupRule.GroupText,[]Rect{}})
+						args.RuleResult["yolo"] = append(args.RuleResult["yolo"].([]Result), Result{taskId, sdkName, groupRule.GroupId, groupRule.AlarmLevel, groupRule.GroupText, []Rect{}})
 						logger.Info("-------------------yolo缁撴灉鏍囩", args.RuleResult["yolo"].([]Result))
 					}
 					if args.RuleResult["face"] != nil {
@@ -632,10 +638,10 @@
 func filterRule(rule *protomsg.Rule, am *AreaMap) LittleRuleResult {
 	if rule.SdkId == "812b674b-2375-4589-919a-5c1c3278a97e" || rule.SdkId == "812b674b-2375-4589-919a-5c1c3278a972" {
 		// 澶勭悊鐨勬槸浜鸿劯绠楁硶 濡傛灉杩欐潯瑙勫垯閰嶇疆鐨勬槸浜鸿劯绠楁硶锛岃繃婊ゅ畬鏉′欢涔嬪悗鐩存帴寰楀嚭缁撴灉锛屽洜涓鸿偗瀹氭病鏈夋暟閲忔潯浠讹紝鑷繁鎷兼帴
-		logger.Error("瑙勫垯鐨勭畻娉昳d鍜屽尯鍩熺殑绠楁硶id锛�",rule.SdkId,"===",am.sdkId)
+		logger.Error("瑙勫垯鐨勭畻娉昳d鍜屽尯鍩熺殑绠楁硶id锛�", rule.SdkId, "===", am.sdkId)
 		if rule.SdkId == am.sdkId && rule.PolygonId == am.areaId { // 绠楁硶鍜屽尯鍩熼兘寰楀鐨勪笂
 
-			if rule.SdkId == "812b674b-2375-4589-919a-5c1c3278a972" && rule.SdkArgAlias != "time_rule"{
+			if rule.SdkId == "812b674b-2375-4589-919a-5c1c3278a972" && rule.SdkArgAlias != "time_rule" {
 				// 鍙渶瑕佽繃婊ら槇鍊硷紝杩囨护瀹屽悗鏁扮粍闀垮害澶т簬0鍗充负鎶ヨ锛屼絾瑕佽�冭檻濡備綍瀵规瘡涓�寮犻兘鎶ヨ鍛�
 				argValue, err := strconv.ParseFloat(rule.SdkArgValue, 64)
 				if err != nil {
@@ -646,8 +652,8 @@
 				for _, obj := range am.filterData {
 					for index := 0; index < len(obj.Liker); {
 						// 灏嗚揪涓嶅埌闃堝�肩殑鐩镐技鑰呬粠鐩镐技鑰呮暟缁勪腑鍒犻櫎
-						logger.Warn("=======================鐩镐技鍊硷細",float64(obj.Liker[index].CompareScore * 100))
-						if float64(obj.Liker[index].CompareScore * 100) < argValue {
+						logger.Warn("=======================鐩镐技鍊硷細", float64(obj.Liker[index].CompareScore*100))
+						if float64(obj.Liker[index].CompareScore*100) < argValue {
 							// Go 璇█涓垏鐗囧垹闄ゅ厓绱犵殑鏈川鏄細浠ヨ鍒犻櫎鍏冪礌涓哄垎鐣岀偣锛屽皢鍓嶅悗涓や釜閮ㄥ垎鐨勫唴瀛橀噸鏂拌繛鎺ヨ捣鏉ャ�備笉鐢ㄦ��鐤戯紝鏁扮粍鍒犻櫎鍏冪礌灏辫繖涔堝潙鐖�
 							obj.Liker = append(obj.Liker[:index], obj.Liker[index+1:]...)
 						} else {

--
Gitblit v1.8.0