From 9bbcbac49cf99c914bcc488157985a9ded6dc803 Mon Sep 17 00:00:00 2001
From: sunty <1172534965@qq.com>
Date: 星期日, 23 八月 2020 15:34:58 +0800
Subject: [PATCH] add stayTime
---
EsClient.go | 21 +++++++++++++++++----
EsApi.go | 13 ++++++++-----
2 files changed, 25 insertions(+), 9 deletions(-)
diff --git a/EsApi.go b/EsApi.go
index caea6e1..0201857 100644
--- a/EsApi.go
+++ b/EsApi.go
@@ -190,7 +190,7 @@
]
}
},
- "size": 10,
+ "size": 2147483647,
"_source": {
"includes": [
"cameraId",
@@ -205,8 +205,8 @@
]
}
}`
- //fmt.Println(personUrl)
- //fmt.Println(personBody)
+ fmt.Println(personUrl)
+ fmt.Println(personBody)
buf, err := EsReq("POST", personUrl, []byte(personBody))
if err != nil {
return nil, err
@@ -270,12 +270,13 @@
}
}
}
- ]
+ ],
+ "size": 100000000
},
"aggs":{
"top_attention_hits":{
"top_hits":{
- "size": 100,
+ "size": 1000000,
"sort": [
{
"picDate": {
@@ -292,6 +293,8 @@
}
}
}`
+ //fmt.Println(buckersUrl)
+ //fmt.Println(buckersBody)
buf, err := EsReq("POST", buckersUrl, []byte(buckersBody))
if err != nil {
return nil, err
diff --git a/EsClient.go b/EsClient.go
index 4e1f551..30f182a 100644
--- a/EsClient.go
+++ b/EsClient.go
@@ -529,9 +529,11 @@
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
@@ -559,6 +561,7 @@
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)
hitsSources = append(hitsSources, tmpHitSource)
@@ -579,20 +582,30 @@
//瑙f瀽鎶撴媿搴撲汉鍛樼粨鏋�
func PerSonAnalysis(preData []map[string]interface{}) (sources []map[string]interface{}, err error) {
- source := make(map[string]interface{}, 0)
+ 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"] = info["picDate"].(string)
+ source["startTime"] = startTime
pixMaxUrl := info["picMaxUrl"].([]interface{})
source["startBackGroundPicUrl"] = pixMaxUrl[0]
- source["endTime"] = info["updateTime"].(string)
+ 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]
sources = append(sources, source)
}
--
Gitblit v1.8.0