liuxiaolong
2019-11-13 6a5bb24c9881081a3da01fafa636b880c9cc717b
fix linkTagInfo
1个文件已修改
53 ■■■■ 已修改文件
controllers/esSearch.go 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
controllers/esSearch.go
@@ -177,7 +177,7 @@
        analyServerFilterStr +
        "{\"range\":{\"picDate\":{\"from\":\"" + gteDate + "\",\"to\":\"" + lteDate + "\",\"include_lower\":true,\"include_upper\":true,\"boost\":1}}}]}}," +
        "\"sort\":[{\"_score\":{\"order\":\"desc\"}},{\"picDate\":{\"order\":\"desc\"}}]," +
        "\"_source\":[\"baseInfo\",\"alarmRules\",\"sex\",\"analyServerName\",\"sdkName\",\"ageDescription\",\"content\",\"id\",\"cameraAddr\",\"picMaxUrl\",\"picDate\",\"race\",\"videoUrl\",\"picSmUrl\",\"taskName\",\"personIsHub\",\"isAlarm\",\"analyServerIp\",\"cameraId\",\"linkId\"]" +
        "\"_source\":[\"baseInfo\",\"alarmRules\",\"sex\",\"analyServerName\",\"sdkName\",\"ageDescription\",\"content\",\"id\",\"cameraAddr\",\"picMaxUrl\",\"picDate\",\"race\",\"videoUrl\",\"picSmUrl\",\"taskName\",\"isAlarm\",\"analyServerIp\",\"cameraId\",\"linkTag\",\"linkTagInfo\"]" +
        "}"
    //logger.Debug("findEsData.param:",prama)
    //数据解析
@@ -190,53 +190,30 @@
    for _, masterInfoValues := range data.([]interface{}) {
        masterInfo := masterInfoValues.(map[string]interface{})
        sources := make(map[string]interface{}, 0)
        sources["activeObject"] = masterInfo
        linkId := ""
        if masterInfo["linkId"] != nil {
            linkId = masterInfo["linkId"].(string)
        }
        id := masterInfo["id"].(string)
        if linkId != "" {
            slaveList := make([]map[string]interface{}, 0)
            slaveList = append(slaveList, masterInfo)
            linkInfo := GetLinkInfo(linkId, id)
            for _, slaveInfoValues := range linkInfo {
                slaveInfo := slaveInfoValues
                slaveList = append(slaveList, slaveInfo)
        if masterInfo["linkTagInfo"] != nil {
            linkTagInfo := masterInfo["linkTagInfo"].([]map[string]interface{})
            if len(linkTagInfo) >0 {
                slaveList := make([]map[string]interface{}, 0)
                slaveList = append(slaveList, masterInfo)
                slaveList = append(slaveList, linkTagInfo...)
                sources["list"] = slaveList
            } else {
                sources["list"] = []interface{}{}
            }
            sources["list"] = slaveList
        } else {
            sources["list"] = []interface{}{}
        }
        if _,ok := masterInfo["linkTagInfo"];ok {
            delete(masterInfo, "linkTagInfo")
        }
        sources["activeObject"] = masterInfo
        tmpDate["datalist"] = append(tmpDate["datalist"], sources)
    }
    tmpAllDate["datalist"] = tmpDate["datalist"]
    return tmpAllDate
}
func GetLinkInfo(linkId string, id string) []map[string]interface{} {
    localConf, err2 := cache.GetServerInfo()
    if err2 !=nil || localConf.AlarmIp == "" || localConf.ServerId == "" {
        logger.Debug("localConfig is wrong!!!")
        return nil
    }
    url := "http://" + localConf.AlarmIp + ":" + strconv.Itoa(int(localConf.AlarmPort)) +
        "/" + config.EsInfo.EsIndex.VideoPersons.IndexName + "," + config.EsInfo.EsIndex.Personaction.IndexName + "/_search?search_type=dfs_query_then_fetch"
    jsonDSL := "{\"query\":{\"bool\":{\"filter\":[{\"term\":{\"linkId\":\"" + linkId + "\"}}],\"must_not\":[{\"term\":{\"id\":\"" + id + "\"}}]}},\"size\":100}"
    buf, err := esutil.EsReq("POST", url, []byte(jsonDSL))
    if err != nil {
        logger.Debug(err)
    }
    sources, err := esutil.Sourcelist(buf)
    if err != nil {
        logger.Debug(err)
    }
    return sources
}
//sdkTYype字典"\"_source\":[\"BaseName\",\"Gender\",\"Race\",\"content\",\"idcard\",\"picAddress\",\"picDate\",\"sdkType\",\"Age\",\"personId\",\"personIsHub\",\"personPicUrl\",\"picLocalUrl\",\"picSmUrl\",\"videoIp\",\"videoNum\",\"cameraId\",\"ageDescription\",\"likePer\"]" +