sunty
2020-08-23 9bbcbac49cf99c914bcc488157985a9ded6dc803
add stayTime
2个文件已修改
34 ■■■■ 已修改文件
EsApi.go 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
EsClient.go 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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
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 @@
//解析抓拍库人员结构
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)
    }