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 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 deletions(-)

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