sunty
2020-08-26 7e607c414de91474002774ebb409ebf52437fc20
fix stay time
2个文件已修改
53 ■■■■ 已修改文件
EsApi.go 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
EsClient.go 51 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
EsApi.go
@@ -207,7 +207,7 @@
            "picMaxUrl",
            "targetInfo.belongsTargetId",
            "targetInfo.targetLocation",
            "picWH.picW"
            "picWH"
        ]
    }
}`
EsClient.go
@@ -506,9 +506,9 @@
        topAttentionHits := inf.(map[string]interface{})["top_attention_hits"].(map[string]interface{})
        middleHits := topAttentionHits["hits"].(map[string]interface{})
        finalHits := middleHits["hits"].([]interface{})
        tmpHitSource := make(map[string]interface{})
        startTime := ""
        for _, in := range finalHits {
            tmpHitSource := make(map[string]interface{})
            tmpbuf, ok := in.(map[string]interface{})
            if !ok {
                fmt.Println("change to source error!")
@@ -532,19 +532,33 @@
            stayTime := 0.0
            if startTime != "" {
                sinTime, _ := time.ParseInLocation("2006-01-02 15:04:05", startTime, loc)
                stayTime = math.Abs(sinTime.Sub(mTime).Seconds())
                if stayTime <= thresholdTime {
                passTime := math.Abs(mTime.Sub(sinTime).Seconds())
                //fmt.Println("passTime:   ", passTime)
                if passTime <= thresholdTime {
                    startTime = tmpTime
                    hitsSources[len(hitsSources)-1]["endTime"] = tmpTime
                    continue
                } else {
                    hitStartTime := hitsSources[len(hitsSources)-1]["startTime"].(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)
                    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
                        hitsSources[len(hitsSources)-1]["endTime"] = tmpTime
                        stayTime = stayTime + 1
                    }
                    hitsSources[len(hitsSources)-1]["stayTime"] = stayTime
                    //fmt.Println(hitsSources[len(hitsSources)-1])
                }
            }
            //fmt.Println("========================================================")
            startTime = tmpTime
            tmpHitSource["personId"] = baseInfo["targetId"].(string)
            tmpHitSource["cameraId"] = source["cameraId"].(string)
@@ -565,7 +579,7 @@
            tmpHitSource["endTBackGroundPicUrl"] = source["picMaxUrl"].([]interface{})
            tmpHitSource["endTFacePicUrl"] = targetInfo["picSmUrl"].(string)
            if source["picWH"] != nil {
            tmpHitSource["picWH"] = source["picWH"].(map[string]interface{})
                tmpHitSource["picWH"] = source["picWH"].(map[string]interface{})
            }
            hitsSources = append(hitsSources, tmpHitSource)
        }
@@ -610,9 +624,9 @@
        topAttentionHits := inf.(map[string]interface{})["top_attention_hits"].(map[string]interface{})
        middleHits := topAttentionHits["hits"].(map[string]interface{})
        finalHits := middleHits["hits"].([]interface{})
        tmpHitSource := make(map[string]interface{})
        startTime := ""
        for _, in := range finalHits {
            tmpHitSource := make(map[string]interface{})
            tmpbuf, ok := in.(map[string]interface{})
            if !ok {
                fmt.Println("change to source error!")
@@ -636,17 +650,30 @@
            stayTime := 0.0
            if startTime != "" {
                sinTime, _ := time.ParseInLocation("2006-01-02 15:04:05", startTime, loc)
                stayTime = math.Abs(sinTime.Sub(mTime).Seconds())
                if stayTime <= thresholdTime {
                passTime := math.Abs(mTime.Sub(sinTime).Seconds())
                //fmt.Println("passTime:   ", passTime)
                if passTime <= thresholdTime {
                    startTime = tmpTime
                    hitsSources[len(hitsSources)-1]["endTime"] = tmpTime
                    continue
                } else {
                    hitStartTime := hitsSources[len(hitsSources)-1]["startTime"].(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)
                    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
                        hitsSources[len(hitsSources)-1]["endTime"] = tmpTime
                        stayTime = stayTime + 1
                    }
                    hitsSources[len(hitsSources)-1]["stayTime"] = stayTime
                    //fmt.Println(hitsSources[len(hitsSources)-1])
                }
            }
            startTime = tmpTime
@@ -673,9 +700,9 @@
            }
            hitsSources = append(hitsSources, tmpHitSource)
        }
            tmpSources["groupKey"] = groupKey
            tmpSources["hits_sources"] = hitsSources
            sources = append(sources, tmpSources)
        tmpSources["groupKey"] = groupKey
        tmpSources["hits_sources"] = hitsSources
        sources = append(sources, tmpSources)
    }
    return sources, nil
}