sunty
2020-08-24 a46931eb698575476d15f0af5cae4ebe7edc45a3
EsApi.go
@@ -161,32 +161,38 @@
//根据摄像机列表和时间查询人员浏览轨迹
func GetPersonDataByCameraIdAndTime(cameraId []string, startTime string, endTime string, serverIp string, ServerPort string, indexName string) (map[string]interface{}, error) {
   var filterArr []string
   if cameraId != nil && len(cameraId) > 0{
   esCameraId := strings.Replace(strings.Trim(fmt.Sprint(cameraId), "[]"), " ", "\",\"", -1)
   personUrl := "http://" + serverIp + ":" + ServerPort + "/" + indexName + "/_search"
   personBody := `{
    "query": {
        "bool": {
            "filter": [
      filterArr = append(filterArr, `{
                {
                     "terms": {
                           "cameraId": ["`+esCameraId+`"]
                  }
            }`)
   }
   filterArr = append(filterArr, `{
                    "range": {
                        "picDate": {
                            "gte": "` + startTime + `",
                            "lte": "` + endTime + `"
                        }
                    }
                },
                {
                }`)
   filterArr = append(filterArr, `                {
                    "term": {
                        "targetInfo.targetType.raw": "Yolo"
                    }
                },
                {
                    "terms": {
                        "cameraId": [
                           "` + esCameraId + `"
                        ]
                    }
                }
                }`)
   queryStr := strings.Join(filterArr, ",")
   personUrl := "http://" + serverIp + ":" + ServerPort + "/" + indexName + "/_search"
   personBody := `{
    "query": {
        "bool": {
            "filter": [
            ` + queryStr + `
            ]
        }
    },
@@ -229,31 +235,45 @@
}
//根据时间范围,摄像机列表,分组聚合人脸列表,返回分组数据
func GetFaceDataBucketsByCameraIdAndTimeReturnByGrouped(cameraId []string, startTime string, endTime string, thresholdTime float64, serverIp string, ServerPort string, indexName string) (buckersDate map[string]interface{}, err error) {
func GetFaceDataBucketsByCameraIdAndTimeReturnByGrouped(cameraId []string, personId []string, startTime string, endTime string, thresholdTime float64, serverIp string, ServerPort string, indexName string) (buckersDate map[string]interface{}, err error) {
   var filterArr []string
   if cameraId != nil && len(cameraId) > 0{
   esCameraId := strings.Replace(strings.Trim(fmt.Sprint(cameraId), "[]"), " ", "\",\"", -1)
   var buckersUrl = "http://" + serverIp + ":" + ServerPort + "/" + indexName + "/_search"
   var buckersBody = `{
    "query": {
        "bool": {
            "filter": [
                {
      filterArr = append(filterArr, `{
                     "terms": {
                           "cameraId": ["`+esCameraId+`"]
                  }
            }`)
   }
   if personId != nil &&len(personId) > 0{
      esPersonId := strings.Replace(strings.Trim(fmt.Sprint(personId), "[]"), " ", "\",\"", -1)
      filterArr = append(filterArr, `{
         "terms": {
            "baseInfo.targetId": ["`+esPersonId+`"]
            }
         }`)
   }
   filterArr = append(filterArr, `{
                    "range": {
                        "picDate": {
                            "gte": "` + startTime + `",
                            "lte": "` + endTime + `"
                        }
                    }
                },
                {
                }`)
   filterArr = append(filterArr, `                {
                    "term": {
                        "targetInfo.targetType.raw": "FaceDetect"
                    }
                },
                {
                    "terms": {
                        "cameraId": ["` + esCameraId + `"]
                    }
                }
                }`)
   queryStr := strings.Join(filterArr, ",")
   var buckersUrl = "http://" + serverIp + ":" + ServerPort + "/" + indexName + "/_search"
   var buckersBody = `{
    "query": {
        "bool": {
            "filter": [
            ` + queryStr + `
            ]
        }
    },
@@ -299,6 +319,8 @@
        }
    }
}`
   //fmt.Println(buckersUrl)
   //fmt.Println(buckersBody)
   sources := make(map[string]interface{})
   queryStartTime := time.Now()
   buf, err := EsReq("POST", buckersUrl, []byte(buckersBody))
@@ -319,31 +341,45 @@
}
//根据时间范围,摄像机列表,分组聚合人脸列表
func GetFaceDataBucketsByCameraIdAndTime(cameraId []string, startTime string, endTime string, thresholdTime float64, serverIp string, ServerPort string, indexName string) (buckersDate map[string]interface{}, err error) {
func GetFaceDataBucketsByCameraIdAndTime(cameraId []string, personId []string, startTime string, endTime string, thresholdTime float64, serverIp string, ServerPort string, indexName string) (buckersDate map[string]interface{}, err error) {
   var filterArr []string
   if cameraId != nil && len(cameraId) > 0{
   esCameraId := strings.Replace(strings.Trim(fmt.Sprint(cameraId), "[]"), " ", "\",\"", -1)
   var buckersUrl = "http://" + serverIp + ":" + ServerPort + "/" + indexName + "/_search"
   var buckersBody = `{
    "query": {
        "bool": {
            "filter": [
                {
      filterArr = append(filterArr, `{
                     "terms": {
                           "cameraId": ["`+esCameraId+`"]
                  }
            }`)
   }
   if personId != nil &&len(personId) > 0{
      esPersonId := strings.Replace(strings.Trim(fmt.Sprint(personId), "[]"), " ", "\",\"", -1)
      filterArr = append(filterArr, `{
         "terms": {
            "baseInfo.targetId": ["`+esPersonId+`"]
            }
         }`)
   }
   filterArr = append(filterArr, `{
                    "range": {
                        "picDate": {
                            "gte": "` + startTime + `",
                            "lte": "` + endTime + `"
                        }
                    }
                },
                {
                }`)
   filterArr = append(filterArr, `                {
                    "term": {
                        "targetInfo.targetType.raw": "FaceDetect"
                    }
                },
                {
                    "terms": {
                        "cameraId": ["` + esCameraId + `"]
                    }
                }
                }`)
   queryStr := strings.Join(filterArr, ",")
   var buckersUrl = "http://" + serverIp + ":" + ServerPort + "/" + indexName + "/_search"
   var buckersBody = `{
    "query": {
        "bool": {
            "filter": [
            ` + queryStr + `
            ]
        }
    },