liuxiaolong
2019-06-15 1efc7ae174f57e6a0a96ccfe4efadc9390589b5a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package controllers
 
import (
    "fmt"
    "github.com/gin-gonic/gin"
    "webserver/extend/code"
    "webserver/extend/config"
    "webserver/extend/esutil"
    "webserver/extend/util"
    "strings"
)
 
type RealTimeController struct{}
 
// @Summary 实时抓拍
// @Description 实时抓拍数据
// @Accept  json
// @Produce json
// @Tags es
// @Param obj body map true "底库数据"
// @Success 200 {string} json "{"code":200, msg:"目录结构数据", success:true}"
// @Failure 500 {string} json "{"code":500,  msg:"返回错误信息", success:false}"
// @Router /data/api-v/realTime/capture [POST]
//实时抓拍
func (rc *RealTimeController) PostCapture(c *gin.Context) {
    searchBody := make(map[string]interface{}, 0)
 
    c.BindJSON(&searchBody)
    index := config.EsInfo.EsIndex.VideoPersons.IndexName + "," + config.EsInfo.EsIndex.Personaction.IndexName
    videoReqNumStr := ""
    videoReqNum := searchBody["treeNodes"].([]interface{})
    if videoReqNum != nil && len(videoReqNum) > 0 {
        esVideoReqNum := strings.Replace(strings.Trim(fmt.Sprint(videoReqNum), "[]"), " ", "\",\"", -1)
        videoReqNumStr = "{\"terms\":{\"videoReqNum\":[\"" + esVideoReqNum + "\"]}},"
    }
    //请求头
    url := "http://" + config.EsInfo.Masterip + ":" + config.EsInfo.Httpport +
        "/" + index + "/_search"
 
    prama := "{\"query\":{\"bool\":{\"filter\":[" +
        videoReqNumStr +
        "{\"range\":{\"picDate\":{\"gte\":\"now+8h-5s\",\"lt\":\"now+8h\"}}}]}}," +
        "\"sort\":[{\"picDate\":{\"order\":\"desc\"}}]," +
        "\"size\":\"1000\"," +
        "\"_source\":[\"baseInfo\",\"gender\",\"indeviceName\",\"sdkType\",\"ageDescription\",\"content\",\"ID\",\"picAddress\",\"picMaxUrl\",\"picDate\",\"race\",\"videoNum\",\"picSmUrl\",\"taskName\",\"personIsHub\",\"IDCard\",\"videoIp\",\"videoReqNum\"]}"
    fmt.Println(prama)
    tokenRes := esutil.GetEsDataReq(url, prama, true)
    /*for _, value := range tokenRes["datalist"].([]interface{}) {
        if value.(map[string]interface{})["personId"] != nil {
            info := getDBPersonInfo(value.(map[string]interface{})["personId"].(string))
            for key, val := range info {
                //fmt.Println(value.(map[string]interface{})[key],val)
                value.(map[string]interface{})[key] = val
 
            }
        }
    }*/
 
    util.ResponseFormat(c, code.Success, tokenRes)
}