From ed50fd820fa8299f328e85400a08db997e86b349 Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期五, 09 八月 2019 18:04:54 +0800
Subject: [PATCH] 加个取联动数据的判断以防偶尔的nil导致宕机

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

diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go
index 84569b7..7043d36 100644
--- a/ruleserver/ruleToformula.go
+++ b/ruleserver/ruleToformula.go
@@ -491,20 +491,22 @@
 				result, _ := expression.Evaluate(nil) // 寰楀埌鏁板鍏紡鐨勭粨鏋�
 				if result.(bool) {
 					logger.Info("___________________________________________________________________鑱斿姩浠诲姟鎶ヨ")
-					// 鎶婃暟缁勯噷缂撳瓨鐨勬暟鎹彇鍑烘潵涓�璧锋姤璀�
-					label.LinkCache = []ResultMsg{}
-					for _, ruleRes := range TimeEleList[groupRule.GroupId].RuleResults {
-						label.LinkCache = append(label.LinkCache, ruleRes.CacheData)
-					}
-					logger.Debug("鑱斿姩浠诲姟缂撳瓨浜嗗嚑涓暟鎹�", len(label.LinkCache))
-					for i := 0; i < len(args.RuleResult["yolo"].([]Result)); i++ {
-						if args.RuleResult["yolo"].([]Result)[i].RuleGroupId == groupRule.GroupId { // 鎶婅仈鍔ㄦ暟鎹拷鍔犱笂
-							args.RuleResult["yolo"].([]Result)[i].Others.LinkCache = label.LinkCache
+					if TimeEleList[groupRule.GroupId] != nil {  // 鏋佸伓灏旀湁鎯呭喌浼氱瓑浜巒il锛屼笉鐭ラ亾涓哄暐锛屽仛涓垽鏂互闃插畷鏈�
+						// 鎶婃暟缁勯噷缂撳瓨鐨勬暟鎹彇鍑烘潵涓�璧锋姤璀�
+						label.LinkCache = []ResultMsg{}
+						for _, ruleRes := range TimeEleList[groupRule.GroupId].RuleResults {
+							label.LinkCache = append(label.LinkCache, ruleRes.CacheData)
 						}
-					}
-					for i := 0; i < len(args.RuleResult["face"].([]FaceResult)); i++ {
-						if args.RuleResult["face"].([]FaceResult)[i].RuleGroupId == groupRule.GroupId { // 鎶婅仈鍔ㄦ暟鎹拷鍔犱笂
-							args.RuleResult["face"].([]FaceResult)[i].Others.LinkCache = label.LinkCache
+						logger.Debug("鑱斿姩浠诲姟缂撳瓨浜嗗嚑涓暟鎹�", len(label.LinkCache))
+						for i := 0; i < len(args.RuleResult["yolo"].([]Result)); i++ {
+							if args.RuleResult["yolo"].([]Result)[i].RuleGroupId == groupRule.GroupId { // 鎶婅仈鍔ㄦ暟鎹拷鍔犱笂
+								args.RuleResult["yolo"].([]Result)[i].Others.LinkCache = label.LinkCache
+							}
+						}
+						for i := 0; i < len(args.RuleResult["face"].([]FaceResult)); i++ {
+							if args.RuleResult["face"].([]FaceResult)[i].RuleGroupId == groupRule.GroupId { // 鎶婅仈鍔ㄦ暟鎹拷鍔犱笂
+								args.RuleResult["face"].([]FaceResult)[i].Others.LinkCache = label.LinkCache
+							}
 						}
 					}
 				}

--
Gitblit v1.8.0