From 171d94e0f254b485ed5d09cef9a208b0f5672048 Mon Sep 17 00:00:00 2001
From: sunty <1172534965@qq.com>
Date: 星期二, 08 九月 2020 14:01:26 +0800
Subject: [PATCH] fix source aggs

---
 EsClient.go |   27 ++++++++++++++++++---------
 1 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/EsClient.go b/EsClient.go
index 0fa7e80..8df5b8e 100644
--- a/EsClient.go
+++ b/EsClient.go
@@ -540,24 +540,27 @@
 						realStartTime, _ := time.ParseInLocation("2006-01-02 15:04:05", hitStartTime, loc)
 						stayTime = math.Abs(mTime.Sub(realStartTime).Seconds())
 						hitsSources[len(hitsSources)-1]["stayTime"] = stayTime
+						hitsSources[len(hitsSources)-1]["endTime"] = tmpTime
 						startTime = ""
 					} else {
 						startTime = tmpTime
 						hitsSources[len(hitsSources)-1]["endTime"] = tmpTime
-						continue
 					}
-
+					continue
 				} else {
 					hitStartTime := hitsSources[len(hitsSources)-1]["startTime"].(string)
 					hitEndTime := hitsSources[len(hitsSources)-1]["endTime"].(string)
 					realStartTime, _ := time.ParseInLocation("2006-01-02 15:04:05", hitStartTime, loc)
 					realEndTime, _ := time.ParseInLocation("2006-01-02 15:04:05", hitEndTime, loc)
 					stayTime = math.Abs(realEndTime.Sub(realStartTime).Seconds())
-					if sinTime.Sub(mTime).Seconds() == 0 {
+					if sinTime.Sub(mTime).Seconds() == 0{
 						sinTime.Add(time.Second * 1)
 						sinTime.Format("2006-01-02 15:04:05")
 						hitsSources[len(hitsSources)-1]["endTime"] = tmpTime
 						stayTime = 1
+					} else if stayTime == 0{
+						stayTime = 1
+						hitsSources[len(hitsSources)-1]["endTime"] = realEndTime.Add(time.Second*1).Format("2006-01-02 15:04:05")
 					}
 					hitsSources[len(hitsSources)-1]["stayTime"] = stayTime
 					if point == indexLength {
@@ -708,24 +711,27 @@
 						realStartTime, _ := time.ParseInLocation("2006-01-02 15:04:05", hitStartTime, loc)
 						stayTime = math.Abs(mTime.Sub(realStartTime).Seconds())
 						hitsSources[len(hitsSources)-1]["stayTime"] = stayTime
+						hitsSources[len(hitsSources)-1]["endTime"] = tmpTime
 						startTime = ""
 					} else {
 						startTime = tmpTime
 						hitsSources[len(hitsSources)-1]["endTime"] = tmpTime
-						continue
 					}
-
+					continue
 				} else {
 					hitStartTime := hitsSources[len(hitsSources)-1]["startTime"].(string)
 					hitEndTime := hitsSources[len(hitsSources)-1]["endTime"].(string)
 					realStartTime, _ := time.ParseInLocation("2006-01-02 15:04:05", hitStartTime, loc)
 					realEndTime, _ := time.ParseInLocation("2006-01-02 15:04:05", hitEndTime, loc)
 					stayTime = math.Abs(realEndTime.Sub(realStartTime).Seconds())
-					if sinTime.Sub(mTime).Seconds() == 0 {
+					if sinTime.Sub(mTime).Seconds() == 0{
 						sinTime.Add(time.Second * 1)
 						sinTime.Format("2006-01-02 15:04:05")
 						hitsSources[len(hitsSources)-1]["endTime"] = tmpTime
 						stayTime = 1
+					} else if stayTime == 0{
+						stayTime = 1
+						hitsSources[len(hitsSources)-1]["endTime"] = realEndTime.Add(time.Second*1).Format("2006-01-02 15:04:05")
 					}
 					hitsSources[len(hitsSources)-1]["stayTime"] = stayTime
 					if point == indexLength {
@@ -835,24 +841,27 @@
 						realStartTime, _ := time.ParseInLocation("2006-01-02 15:04:05", hitStartTime, loc)
 						stayTime = math.Abs(mTime.Sub(realStartTime).Seconds())
 						hitsSources[len(hitsSources)-1]["stayTime"] = stayTime
+						hitsSources[len(hitsSources)-1]["endTime"] = tmpTime
 						startTime = ""
 					} else {
 						startTime = tmpTime
 						hitsSources[len(hitsSources)-1]["endTime"] = tmpTime
-						continue
 					}
-
+					continue
 				} else {
 					hitStartTime := hitsSources[len(hitsSources)-1]["startTime"].(string)
 					hitEndTime := hitsSources[len(hitsSources)-1]["endTime"].(string)
 					realStartTime, _ := time.ParseInLocation("2006-01-02 15:04:05", hitStartTime, loc)
 					realEndTime, _ := time.ParseInLocation("2006-01-02 15:04:05", hitEndTime, loc)
 					stayTime = math.Abs(realEndTime.Sub(realStartTime).Seconds())
-					if sinTime.Sub(mTime).Seconds() == 0 {
+					if sinTime.Sub(mTime).Seconds() == 0{
 						sinTime.Add(time.Second * 1)
 						sinTime.Format("2006-01-02 15:04:05")
 						hitsSources[len(hitsSources)-1]["endTime"] = tmpTime
 						stayTime = 1
+					} else if stayTime == 0{
+						stayTime = 1
+						hitsSources[len(hitsSources)-1]["endTime"] = realEndTime.Add(time.Second*1).Format("2006-01-02 15:04:05")
 					}
 					hitsSources[len(hitsSources)-1]["stayTime"] = stayTime
 					if point == indexLength {

--
Gitblit v1.8.0