From c3f7425ceeabbd9f4e65a110afa7e486ad9bb86c Mon Sep 17 00:00:00 2001
From: sunty <1172534965@qq.com>
Date: 星期三, 26 八月 2020 16:01:19 +0800
Subject: [PATCH] fix stay time
---
EsClient.go | 38 ++++++++++++++++++--------------------
1 files changed, 18 insertions(+), 20 deletions(-)
diff --git a/EsClient.go b/EsClient.go
index dcf9f04..79c7c0d 100644
--- a/EsClient.go
+++ b/EsClient.go
@@ -531,13 +531,14 @@
}
sTime := tmpTime
- eTime := tmpTime
- stayTime := 0.0
- if startTime != "" && point <= indexLength{
+ eTime := mTime.Add(time.Second*1).Format("2006-01-02 15:04:05")
+ stayTime := 1.0
+ if startTime != "" && point < indexLength{
sinTime, _ := time.ParseInLocation("2006-01-02 15:04:05", startTime, loc)
passTime := math.Abs(mTime.Sub(sinTime).Seconds())
+ hitsSources[len(hitsSources)-1]["stayTime"] = stayTime
//fmt.Println("passTime: ", passTime)
- if passTime <= thresholdTime {
+ if passTime <= thresholdTime || point == indexLength{
startTime = tmpTime
hitsSources[len(hitsSources)-1]["endTime"] = tmpTime
if point == indexLength{
@@ -549,16 +550,15 @@
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)
- stayTime = math.Abs(mTime.Sub(realStartTime).Seconds())
- //fmt.Println("stayTime: ",stayTime)
- hitsSources[len(hitsSources)-1]["endTime"] = tmpTime
- //fmt.Println("stayTime",stayTime)
+ realEndTime, _ := time.ParseInLocation("2006-01-02 15:04:05", hitEndTime, loc)
+ stayTime = math.Abs(realEndTime.Sub(realStartTime).Seconds())
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 = stayTime + 1
+ stayTime = 1
}
hitsSources[len(hitsSources)-1]["stayTime"] = stayTime
startTime = ""
@@ -635,6 +635,7 @@
indexLength := len(finalHits)
point := 0
startTime := ""
+ //fmt.Println("finalHits: ",finalHits)
for _, in := range finalHits {
point = point+1
tmpHitSource := make(map[string]interface{})
@@ -657,11 +658,12 @@
}
sTime := tmpTime
- eTime := tmpTime
- stayTime := 0.0
- if startTime != "" && point <= indexLength{
+ eTime := mTime.Add(time.Second*1).Format("2006-01-02 15:04:05")
+ stayTime := 1.0
+ if startTime != "" && point < indexLength{
sinTime, _ := time.ParseInLocation("2006-01-02 15:04:05", startTime, loc)
passTime := math.Abs(mTime.Sub(sinTime).Seconds())
+ hitsSources[len(hitsSources)-1]["stayTime"] = stayTime
//fmt.Println("passTime: ", passTime)
if passTime <= thresholdTime || point == indexLength{
startTime = tmpTime
@@ -675,19 +677,15 @@
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)
- //fmt.Println("hitStartTime: ",hitStartTime)
- //fmt.Println("realStartTime: ",realStartTime)
- //fmt.Println("mTime: ",mTime)
- stayTime = math.Abs(mTime.Sub(realStartTime).Seconds())
- //fmt.Println("stayTime: ",stayTime)
- hitsSources[len(hitsSources)-1]["endTime"] = tmpTime
- //fmt.Println("stayTime",stayTime)
+ realEndTime, _ := time.ParseInLocation("2006-01-02 15:04:05", hitEndTime, loc)
+ stayTime = math.Abs(realEndTime.Sub(realStartTime).Seconds())
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 = stayTime + 1
+ stayTime = 1
}
hitsSources[len(hitsSources)-1]["stayTime"] = stayTime
startTime = ""
--
Gitblit v1.8.0