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