| | |
| | | |
| | | //根据摄像机列表和时间查询人员浏览轨迹 |
| | | 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 + ` |
| | | ] |
| | | } |
| | | }, |
| | |
| | | } |
| | | |
| | | //根据时间范围,摄像机列表,分组聚合人脸列表,返回分组数据 |
| | | 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 + ` |
| | | ] |
| | | } |
| | | }, |
| | |
| | | } |
| | | } |
| | | }` |
| | | //fmt.Println(buckersUrl) |
| | | //fmt.Println(buckersBody) |
| | | sources := make(map[string]interface{}) |
| | | queryStartTime := time.Now() |
| | | buf, err := EsReq("POST", buckersUrl, []byte(buckersBody)) |
| | |
| | | } |
| | | |
| | | //根据时间范围,摄像机列表,分组聚合人脸列表 |
| | | 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 + ` |
| | | ] |
| | | } |
| | | }, |