From a88cd5f3c40d32fb48e80873667455f1424ae1cf Mon Sep 17 00:00:00 2001 From: sunty <1172534965@qq.com> Date: 星期日, 23 八月 2020 16:28:40 +0800 Subject: [PATCH] add w h --- EsClient.go | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 51 insertions(+), 9 deletions(-) diff --git a/EsClient.go b/EsClient.go index 96be3c7..09b1861 100644 --- a/EsClient.go +++ b/EsClient.go @@ -497,7 +497,7 @@ if len(buckets) == 0 { return nil, nil } - allSource := make([]map[string]interface{},0) + allSource := make([]map[string]interface{}, 0) for _, inf := range buckets { //tmpSources := make(map[string]interface{}, 0) hitsSources := make([]map[string]interface{}, 0) @@ -529,15 +529,17 @@ sTime := tmpTime eTime := tmpTime + stayTime := 0.0 if startTime != "" { sinTime, _ := time.ParseInLocation("2006-01-02 15:04:05", startTime, loc) - if math.Abs(sinTime.Sub(mTime).Seconds()) <= thresholdTime { + stayTime = math.Abs(sinTime.Sub(mTime).Seconds()) + if stayTime <= thresholdTime { startTime = tmpTime hitsSources[len(hitsSources)-1]["endTime"] = tmpTime continue } else { - if sinTime.Sub(mTime).Seconds() == 0{ - sinTime.Add(time.Second*1) + if sinTime.Sub(mTime).Seconds() == 0 { + sinTime.Add(time.Second * 1) sinTime.Format("2006-01-02 15:04:05") hitsSources[len(hitsSources)-1]["endTime"] = sinTime } @@ -559,15 +561,19 @@ tmpHitSource["startBackGroundPicUrl"] = source["picMaxUrl"].([]interface{}) tmpHitSource["startFacePicUrl"] = targetInfo["picSmUrl"].(string) tmpHitSource["endTime"] = eTime + tmpHitSource["stayTime"] = stayTime tmpHitSource["endTBackGroundPicUrl"] = source["picMaxUrl"].([]interface{}) tmpHitSource["endTFacePicUrl"] = targetInfo["picSmUrl"].(string) + if source["picWH"] != nil { + tmpHitSource["picWH"] = source["picWH"].(map[string]interface{}) + } hitsSources = append(hitsSources, tmpHitSource) } - allSource = append(allSource,hitsSources...) - // tmpSources["groupKey"] = groupKey - // tmpSources["doc_count"] = docCount - // tmpSources["hits_sources"] = hitsSources - // sources = append(sources, tmpSources) + allSource = append(allSource, hitsSources...) + // tmpSources["groupKey"] = groupKey + // tmpSources["doc_count"] = docCount + // tmpSources["hits_sources"] = hitsSources + // sources = append(sources, tmpSources) } count := len(allSource) fmt.Println(count) @@ -577,6 +583,42 @@ return s, nil } +//瑙f瀽鎶撴媿搴撲汉鍛樼粨鏋� +func PerSonAnalysis(preData []map[string]interface{}) (sources []map[string]interface{}, err error) { + loc, err := time.LoadLocation("Asia/Shanghai") + if err != nil { + return nil, errors.New("鏃跺尯璁剧疆閿欒") + } + for _, key := range preData { + source := make(map[string]interface{}, 0) + info := key + targetInfo := info["targetInfo"].([]interface{})[0].(map[string]interface{}) + startTime := info["picDate"].(string) + endTime := info["updateTime"].(string) + source["personId"] = targetInfo["belongsTargetId"].(string) + source["cameraId"] = info["cameraId"].(string) + source["cameraName"] = info["cameraName"].(string) + source["cameraAddr"] = info["cameraAddr"].(string) + source["targetScore"] = int(targetInfo["targetScore"].(float64)) + source["personRect"] = targetInfo["targetLocation"].(map[string]interface{}) + source["startTime"] = startTime + pixMaxUrl := info["picMaxUrl"].([]interface{}) + source["startBackGroundPicUrl"] = pixMaxUrl[0] + source["endTime"] = endTime + startT, _ := time.ParseInLocation("2006-01-02 15:04:05", startTime, loc) + endT, _ := time.ParseInLocation("2006-01-02 15:04:05", endTime, loc) + stayTime := endT.Sub(startT).Seconds() + source["stayTime"] = stayTime + source["endBackGroundPicUrl"] = pixMaxUrl[len(pixMaxUrl)-1] + if info["picWH"] != nil { + source["picWH"] = info["picWH"].(map[string]interface{}) + } + sources = append(sources, source) + } + + return sources, nil +} + func Sourcelist(buf []byte) (sources []map[string]interface{}, err error) { var info interface{} json.Unmarshal(buf, &info) -- Gitblit v1.8.0