| | |
| | | } |
| | | |
| | | //根据时间范围,摄像机列表,分组聚合人脸列表 |
| | | func GetfaceDataBucketsBycameraIdAndTime(cameraId []string, startTime string, endTime string, serverIp string, ServerPort string, indexName string) (buckersDate map[string]interface{},err error){ |
| | | func GetfaceDataBucketsBycameraIdAndTime(cameraId []string, startTime string, endTime string, thresholdTime float64, serverIp string, ServerPort string, indexName string) (buckersDate map[string]interface{}, err error) { |
| | | esCameraId := strings.Replace(strings.Trim(fmt.Sprint(cameraId), "[]"), " ", "\",\"", -1) |
| | | var buckersUrl = "http://" + serverIp + ":" + ServerPort + "/" + indexName + "/_search" |
| | | var buckersBody = `{ |
| | |
| | | return nil, err |
| | | } |
| | | |
| | | sources, err := SourceAggregations(buf) |
| | | sources, err := SourceAggregations(buf,thresholdTime) |
| | | if err != nil { |
| | | return nil, err |
| | | } |
| | |
| | | return tmpinfos |
| | | } |
| | | |
| | | func SourceAggregations(buf [] byte) (sources map[string]interface{}, err error) { |
| | | func SourceAggregations(buf [] byte, thresholdTime float64) (sources map[string]interface{}, err error) { |
| | | s := make(map[string]interface{}) |
| | | loc, err := time.LoadLocation("Asia/Shanghai") |
| | | if err != nil { |
| | |
| | | eTime := tmpTime |
| | | if startTime != "" { |
| | | sinTime, _ := time.ParseInLocation("2006-01-02 15:04:05", startTime, loc) |
| | | if math.Abs(sinTime.Sub(mTime).Seconds()) <= 20 { |
| | | if math.Abs(sinTime.Sub(mTime).Seconds()) <= thresholdTime { |
| | | startTime = tmpTime |
| | | hitsSources[len(hitsSources)-1]["endTime"] = tmpTime |
| | | continue |