From 3737ab3dd0cc753be986638316c96cb3114601e4 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期日, 29 九月 2024 16:20:46 +0800
Subject: [PATCH] fix db column

---
 db/elastic.go |   44 ++++++++++++++++++++++++++++++++++----------
 1 files changed, 34 insertions(+), 10 deletions(-)

diff --git a/db/elastic.go b/db/elastic.go
index a215726..2ecaa2a 100644
--- a/db/elastic.go
+++ b/db/elastic.go
@@ -34,7 +34,8 @@
 	return captureInfos, nil
 }
 
-func QueryTimesByDocNumberDays(days int, docNumber string) (int, error) {
+func QueryTimesByDocNumberDays(docNumber string, communityId string, cameraIds []string, days int) (int, error) {
+	cameraIdsStr := strings.Replace(strings.Trim(fmt.Sprint(cameraIds), "[]"), " ", "\",\"", -1)
 	esURL := "http://" + config.Elastic.Host + ":" + config.Elastic.Port + "/" + config.Elastic.Index + "/_search"
 	queryDSL := `{
     "query": {
@@ -50,6 +51,16 @@
                 {
                     "term": {
                         "documentNumber": "` + docNumber + `"
+                    }
+                },
+                {
+                    "term": {
+                        "communityId": "` + communityId + `"
+                    }
+                },
+                {
+                    "terms": {
+                        "cameraId": ["` + cameraIdsStr + `"]
                     }
                 }
             ]
@@ -68,7 +79,8 @@
 	return total, nil
 }
 
-func QueryLastIdByDayRange(dayGte, dayLt int) (map[string]string, error) {
+func QueryLastIdByDayRange(communityId string, cameraIds []string, dayGte, dayLt int) (map[string]string, error) {
+	cameraIdsStr := strings.Replace(strings.Trim(fmt.Sprint(cameraIds), "[]"), " ", "\",\"", -1)
 	esURL := "http://" + config.Elastic.Host + ":" + config.Elastic.Port + "/" + config.Elastic.Index + "/_search"
 	queryDSL := `{
     "query": {
@@ -80,6 +92,16 @@
                             "gte": "now-` + strconv.Itoa(dayGte) + `d/d",
                             "lt": "now-` + strconv.Itoa(dayLt) + `d/d"
                         }
+                    }
+                },
+                {
+                    "term": {
+                        "communityId": "` + communityId + `"
+                    }
+                },
+                {
+                    "terms": {
+                        "cameraId": ["` + cameraIdsStr + `"]
                     }
                 }
             ]
@@ -133,13 +155,15 @@
 			rSource := rSourceInfo["_source"].(map[string]interface{})
 			//濡傛灉璇ュぉ鏈�鍚庝竴鏉″凡缁忛璀﹁繃杩涘嚭寮傚父锛屽皢杩囨护鎺変笉鍐嶉璀�
 			alarmFlag := false
-			alarmRules := rSource["alarmRules"].([]interface{})
-			for _, alarmRule := range alarmRules {
-				ruleId := alarmRule.(map[string]interface{})["ruleId"].(string)
-				//fmt.Println("ruleId", ruleId,rSource["documentNumber"].(string),rSource["id"].(string))
-				if ruleId == "4" {
-					alarmFlag = true
-					break
+			if rSource["alarmRules"] != nil {
+				alarmRules := rSource["alarmRules"].([]interface{})
+				for _, alarmRule := range alarmRules {
+					ruleId := alarmRule.(map[string]interface{})["ruleId"].(string)
+					//fmt.Println("ruleId", ruleId,rSource["documentNumber"].(string),rSource["id"].(string))
+					if ruleId == "4" {
+						alarmFlag = true
+						break
+					}
 				}
 			}
 			if alarmFlag == true {
@@ -314,7 +338,7 @@
 	return false, nil
 }
 
-func Query1MDataByCommunityId(communityId string, documentNumber []string, days int) ([]CaptureInfo, error) {
+func QueryByTimeThresholdDataByCommunityId(communityId string, documentNumber []string, days int) ([]CaptureInfo, error) {
 	//fmt.Println(config.Elastic.DocumentSize)
 	//fmt.Println(config.Elastic.TopHitsSize)
 	documentNumberStr := strings.Replace(strings.Trim(fmt.Sprint(documentNumber), "[]"), " ", "\",\"", -1)

--
Gitblit v1.8.0