From 6225f722fd54187b18f6b1a97d044e6918c8ce3b Mon Sep 17 00:00:00 2001
From: sunty <1172534965@qq.com>
Date: 星期四, 21 十一月 2019 17:46:59 +0800
Subject: [PATCH] fix StatisticsComprehensive

---
 EsApi.go |   57 ++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 36 insertions(+), 21 deletions(-)

diff --git a/EsApi.go b/EsApi.go
index a5651cb..09cd5e7 100644
--- a/EsApi.go
+++ b/EsApi.go
@@ -294,28 +294,37 @@
 }
 
 //鍒濆鍖栧疄鏃舵姄鎷�
-func InitRealTimeCapture(serverIp string, serverPort string, indexName string, isAlarm bool, category string, quantity int) ([]protomsg.AIOcean, error) {
+func InitRealTimeCapture(serverIp string, serverPort string, indexName string, isAlarm string, category string, quantity int) ([]protomsg.AIOcean, error) {
 	var aIOceanInfo []protomsg.AIOcean
 	url := "http://" + serverIp + ":" + serverPort +
 		"/" + indexName + "/_search"
+	isAlarmStr := ""
+	if isAlarm != "all" {
+		isAlarmStr = `				{
+					"term":{
+						"isAlarm":"` + isAlarm + `"
+					}
+				}`
+
+	}
+
 	categoryStr := ""
-	if category != "" {
+	if category != "all" {
 		categoryStr = `				{
 					"term":{
 						"targetInfo.targetType":"` + category + `"
 					}
-				},`
+				}`
 
 	}
-	queryStr := `"query":{
+	if categoryStr != "" && isAlarmStr != "" {
+		isAlarmStr = isAlarmStr+","
+	}
+ 	queryStr := `"query":{
 		"bool":{
 			"filter":[
+				` + isAlarmStr + `
 				` + categoryStr + `
-				{
-					"term":{
-						"isAlarm":` + strconv.FormatBool(isAlarm) + `
-					}
-				}
 			]
 		}
 	},`
@@ -387,23 +396,29 @@
 }
 
 //缁煎悎缁熻
-func StatisticsComprehensive(serverIp string, serverPort string, indexName string, isAlarm bool) (total int, err error) {
+func StatisticsComprehensive(serverIp string, serverPort string, indexName string, isAlarm string) (total int, err error) {
 	url := "http://" + serverIp + ":" + serverPort +
 		"/" + indexName + "/_search"
+	isAlarmStr := ""
+	if isAlarm != "all" {
+		isAlarmStr = `				{
+					"term":{
+						"isAlarm":"` + isAlarm + `"
+					}
+				}`
+
+	}
 	DSLJson := `{
 	"size":0,
 	"query":{
 		"bool":{
-			"filter":[{
+			"filter":[
+				` + isAlarmStr + `
+				{
 				"range":{
 					"picDate":{
 						"gte":"now+8h/d"
 						}
-					}
-				},
-				{
-					"term":{
-						"isAlarm":` + strconv.FormatBool(isAlarm) + `
 					}
 				}
 				]
@@ -448,9 +463,9 @@
 		}
 	},
 	"aggs":{
-		"sdkId_status":{
+		"sdkName_status":{
 			"terms":{
-				"field":"taskId"
+				"field":"sdkName.raw"
 			}
 		}
 	}
@@ -469,7 +484,7 @@
 	if !ok {
 		return nil, errors.New("first hits change error!")
 	}
-	sdkName_status, ok := middle["sdkId_status"].(map[string]interface{})
+	sdkName_status, ok := middle["sdkName_status"].(map[string]interface{})
 	if !ok {
 		return nil, errors.New("first hits change error!")
 	}
@@ -481,9 +496,9 @@
 			fmt.Println("change to source error!")
 			continue
 		}
-		sdkId := tmpbuf["key"].(string)
+		sdkName := tmpbuf["key"].(string)
 		count := int(tmpbuf["doc_count"].(float64))
-		source["id"] = sdkId
+		source["name"] = sdkName
 		source["value"] = count
 		sources = append(sources, source)
 	}

--
Gitblit v1.8.0