From 46f174ae5fc99081448c6f59d6bf80a8edbc2465 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期四, 25 七月 2019 11:43:47 +0800
Subject: [PATCH] fix defencesate

---
 insertdata/insertDataToEs.go |   65 +++++++++++++++++++++++---------
 1 files changed, 46 insertions(+), 19 deletions(-)

diff --git a/insertdata/insertDataToEs.go b/insertdata/insertDataToEs.go
index 651fd81..d90e6b7 100644
--- a/insertdata/insertDataToEs.go
+++ b/insertdata/insertDataToEs.go
@@ -55,6 +55,7 @@
 	TaskName        string                 `json:"taskName"`
 	SdkName         string                 `json:"sdkName"`
 	Content         string                 `json:"content"`
+	AlarmRules      []AlarmRule            `json:"alarmRules"`
 	LikeDate        string                 `json:"likeDate"`
 	Sex             string                 `json:"sex"`
 	Age             int32                  `json:"age"`
@@ -135,13 +136,16 @@
 	if msg.RuleResult["face"] != nil && len(msg.RuleResult["face"].([]ruleserver.FaceResult)) > 0 {
 		logger.Info("寰�ES鎻掍汉鑴告暟鎹�")
 		for _, faceResult := range msg.RuleResult["face"].([]ruleserver.FaceResult) {
-			for _,face := range faceResult.Args  {
+			for _, face := range faceResult.Args {
 				// 涓婁紶澶у浘
 				// 瑙e帇缂╁苟涓婁紶鍥剧墖
 				bdata, err := util.UnCompress(msg.Data)
 				if err != nil {
 					panic("瑙e帇缂╁浘鐗囨椂鍑虹幇閿欒")
 				}
+				alarmRules := []AlarmRule{}
+				alarm := ChangeToString(faceResult.DefenceState,faceResult.AlarmLevel)
+				alarmRules = append(alarmRules, AlarmRule{faceResult.RuleGroupId, alarm, faceResult.RuleText})
 				i := protomsg.Image{}
 				err = proto.Unmarshal(bdata, &i)
 				bigPhotoUrl := make(map[string]interface{})
@@ -183,6 +187,7 @@
 					msg.Tasklab.Taskname,
 					"浜鸿劯",
 					"",
+					alarmRules,
 					time.Now().Format("2006-01-02 15:04:05"), // 鍙娴嬶紝娌℃湁姣斿鏃堕棿
 					sex,
 					face.ThftRes.Age,
@@ -257,6 +262,7 @@
 		msg.Tasklab.Taskname,
 		"浜鸿劯",
 		"鐘舵�佽浆鎹㈡暟鎹紝闈炴姤璀︽暟鎹�",
+		[]AlarmRule{},
 		time.Now().Format("2006-01-02 15:04:05"), // 鍙娴嬶紝娌℃湁姣斿鏃堕棿
 		"",
 		0,
@@ -306,7 +312,7 @@
 		alarmRules := []AlarmRule{}
 		for _, yoloResult := range msg.RuleResult["yolo"].([]ruleserver.Result) {
 			sdkNames = sdkNames + yoloResult.SdkName
-			alarm := ChangeToString(yoloResult.AlarmLevel)
+			alarm := ChangeToString(yoloResult.DefenceState,yoloResult.AlarmLevel)
 			alarmRules = append(alarmRules, AlarmRule{yoloResult.RuleGroupId, alarm, yoloResult.RuleText})
 		}
 		isAlarm := 0
@@ -344,10 +350,26 @@
 			logger.Error("鏌ヨ鎽勫儚鏈轰俊鎭け璐�")
 		}
 		serverIp, err := GetLocalIP()
+		url := []string{}
+		url = append(url, strings.Split(resp["fileUrl"].(string), "/")[1])
 		if msg.RuleResult["cacheData"] != nil {
 			InsertYolo(msg.RuleResult["cacheData"].(ruleserver.ResultMsg))
 			// 鎶婄紦瀛樼殑鏁版嵁涓婁紶鍚庡緱鍒板湴鍧�瀛樿繘鍘�
-
+			// 瑙e帇缂╁苟涓婁紶鍥剧墖
+			msg1 := msg.RuleResult["cacheData"].(ruleserver.ResultMsg)
+			bdata, err := util.UnCompress(msg1.Data)
+			if err != nil {
+				panic("瑙e帇缂╁浘鐗囨椂鍑虹幇閿欒")
+			}
+			i := protomsg.Image{}
+			err = proto.Unmarshal(bdata, &i)
+			resp1, err1 := util.DrawPolygonOnImage(msg.Cid, i, msg.RuleResult["yolo"].([]ruleserver.Result), weedfsUrl)
+			if err1 != nil {
+				logger.Error("缂撳瓨鏁版嵁鐢绘鎴栦笂浼犲浘鐗囨湇鍔″櫒鍑洪敊", err)
+			} else {
+				logger.Info("涓婁紶鐨勫浘鐗囦俊鎭細", resp1)
+			}
+			url = append(url, strings.Split(resp1["fileUrl"].(string), "/")[1])
 		}
 		peraction := Personaction{
 			uuid.NewV4().String(),
@@ -363,7 +385,7 @@
 			localConfig.ServerName,
 			serverIp,
 			"",
-			[]string{strings.Split(resp["fileUrl"].(string), "/")[1]},
+			url,
 			i.Timestamp,
 			"",
 			isAlarm,
@@ -489,23 +511,28 @@
 }
 
 // 鎶婃姤璀︾瓑绾ц浆鍖栨垚姹夊瓧
-func ChangeToString(i int32) string {
+func ChangeToString(defenceState bool,i int32) string {
 	alarm := ""
-	if i == 1 {
-		alarm = "涓�绾�"
+	if defenceState {
+		if i == 1 {
+			alarm = "涓�绾�"
+		}
+		if i == 2 {
+			alarm = "浜岀骇"
+		}
+		if i == 3 {
+			alarm = "涓夌骇"
+		}
+		if i == 4 {
+			alarm = "鍥涚骇"
+		}
+		if i == 5 {
+			alarm = "浜旂骇"
+		}
+	} else {
+		alarm = "鎾ら槻"
 	}
-	if i == 2 {
-		alarm = "浜岀骇"
-	}
-	if i == 3 {
-		alarm = "涓夌骇"
-	}
-	if i == 4 {
-		alarm = "鍥涚骇"
-	}
-	if i == 5 {
-		alarm = "浜旂骇"
-	}
+
 	return alarm
 }
 

--
Gitblit v1.8.0