From 51e95e82b6308d5223fc58cb0e914491885b7e90 Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期五, 15 十一月 2019 11:57:44 +0800
Subject: [PATCH] ---

---
 ruleserver/ruleToformula.go |   32 ++++++++++++++++++++++++++++----
 1 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go
index e754da2..8b6506e 100644
--- a/ruleserver/ruleToformula.go
+++ b/ruleserver/ruleToformula.go
@@ -102,14 +102,14 @@
 	result := false
 	sdkNames := ""
 	polygonId := ""
-	targets := []*structure.Arg{} // 绗﹀悎鏉′欢鐨勭洰鏍�
+	targets11 := []*structure.Arg{} // 绗﹀悎鏉′欢鐨勭洰鏍�
 	// 鎶婁竴甯ф暟鎹拰涓�缁勮鍒欏彂缁欑畻娉曢儴鍒嗭紝寰楀嚭鍒ゆ柇缁撴灉
 	result,sdkNames,polygonId = CallMiddleware(args,*groupRule,&label,message)
 	for _, sdkData := range args.Sdkdata {
 		for _, areaMap := range sdkData.AreaMapList {
-			targets = append(targets,areaMap.AlarmObj...)
+			targets11 = append(targets11,areaMap.AlarmObj...)
 			for _,obj := range areaMap.AlarmObj {
-				logger.Info("涓綋闈欐鐨勭洰鏍�",obj.Id,obj.Location)
+				logger.Info("涓綋闈欐鐨勭洰鏍�",obj.Id, obj.Location, obj.CacheData.Cid, len(obj.CacheData.Data))
 			}
 		}
 	}
@@ -174,6 +174,17 @@
 				}
 			}
 			logger.Debug("------locations鐨勫唴瀹癸細", yolos)
+			// 澶勭悊鐩爣瀹氭椂鏁版嵁
+			targets := []*structure.Arg{}
+			for _, sdkData := range args.Sdkdata {
+				if sdkData.IpcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && sdkNames != "" { // 鎶妝olo鏁版嵁鐨勫悇涓洰鏍囩殑鍧愭爣杈撳嚭鏂逛究鍚庨潰鐢绘
+					for _, areaMap := range sdkData.AreaMapList {
+						if areaMap.IsEffective {
+							targets = append(targets, putTargetsToResult(areaMap)...)
+						}
+					}
+				}
+			}
 			var islink bool
 			if groupRule.SetType == "linkTask" {
 				islink = true
@@ -190,6 +201,11 @@
 				args.RuleResult["face"] = append(args.RuleResult["face"].([]structure.Result), structure.Result{taskId, sdkNames, groupRule.GroupId, groupRule.DefenceState, groupRule.AlarmLevel, groupRule.GroupText, faces, polygonId, islink,label})
 				//logger.Info("-------------------face缁撴灉鏍囩", len(args.RuleResult["face"].([]FaceResult)))
 				labelTypes = append(labelTypes,1)
+			}
+			if len(targets) > 0 {
+				args.RuleResult["target"] = append(args.RuleResult["target"].([]structure.Result), structure.Result{taskId, sdkNames, groupRule.GroupId, groupRule.DefenceState, groupRule.AlarmLevel, groupRule.GroupText, targets, polygonId, islink,label})
+				logger.Info("-------------------鐩爣鎸佺画缁撴灉鏍囩", len(args.RuleResult["target"].([]structure.Result)))
+				//labelTypes = append(labelTypes,2)
 			}
 			// 缁欐寔缁椂闂寸殑绗竴寮犺祴浜堢紦瀛樻暟鎹紙閬嶅巻澶嶅埗锛�
 			if cacheId != "" { // 鏈夎繖甯ф暟鎹殑缂撳瓨
@@ -222,6 +238,7 @@
 		// 缁撴灉涓哄亣鏃朵篃瑕佽蛋锛屾湁鏉�姝诲畾鏃跺櫒鐨勬搷浣�
 		TimerAlarm(&label, groupRule.GroupId, result)
 		//fmt.Println(timeFlag)
+		logger.Info("涓嶇鍚堣鍒�")
 		return false,[]int{}
 	}
 }
@@ -253,7 +270,14 @@
 	//logger.Println("-----------------------------------------------鍚浣犳槸绌虹殑锛�",faces)
 	return locations
 }
-
+func putTargetsToResult(am *structure.AreaMap) []*structure.Arg {
+	locations := []*structure.Arg{}
+	if len(am.AlarmObj) > 0 {
+		locations = am.AlarmObj
+	}
+	//logger.Println("-----------------------------------------------鍚浣犳槸绌虹殑锛�",faces)
+	return locations
+}
 // 鑱斿姩浠诲姟鐨勫鐞�
 func LinkTask(args *structure.SdkDatas, groupRule *protomsg.GroupRule, taskId string, message *protomsg.SdkMessage, label structure.Others) {
 	// new涓�涓畾鏃跺櫒锛屽鏋滀互姝roupId涓烘爣蹇楃殑瀹氭椂鍣ㄤ笉瀛樺湪鐨勮瘽

--
Gitblit v1.8.0