liuxiaolong
2019-08-07 1d06cf290dcdfc17705516c651c7a4b87f66bf34
add search this person
2个文件已修改
44 ■■■■■ 已修改文件
controllers/fileController.go 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
extend/esutil/EsClient.go 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
controllers/fileController.go
@@ -321,12 +321,12 @@
func (controller FileController) SearchByPhoto(c *gin.Context) {
    var searchBody models.EsSearch
    err := c.BindJSON(&searchBody)
    if err !=nil || searchBody.PicUrl == "" || len(searchBody.DataBases) == 0 {
    if err !=nil{
        util.ResponseFormat(c, code.RequestParamError, "参数有误")
        return
    }
    var faceB []byte
    if searchBody.CaptureId != "" {//做查找此人
    if searchBody.CaptureId != "" {//做查找此人,搜所有抓拍和底库
        searchPeople, err := esApi.Dbpersoninfosbyid([]string{searchBody.CaptureId}, config.EsInfo.EsIndex.VideoPersons.IndexName, config.EsInfo.Masterip, config.EsInfo.Httpport)
        if err !=nil {
            util.ResponseFormat(c, code.ComError, "抓拍数据不存在,请检查")
@@ -340,22 +340,19 @@
            }
            faceB = decodeF
        }
    } else {//做以图搜图
        if searchBody.PicUrl == "" || len(searchBody.DataBases) == 0 {
            util.ResponseFormat(c, code.RequestParamError, "参数有误")
            return
    }
    //if searchBody.CompareNum !="" {
    //    //二次搜索,不需要再比对了
    //    co := service.GetCompResultByNum(searchBody.CompareNum)
    //    if co != nil {
    //        //二次搜索和排序
    //        twiceM := GetCompareDataTwice(co,&searchBody)
    //        util.ResponseFormat(c,code.Success,twiceM)
    //    } else {
    //        m :=make(map[string]interface{},0)
    //        m["compareNum"] = searchBody.CompareNum
    //        m["total"] = 0
    //        m["totalList"] = []CompareResult{}
    //        util.ResponseFormat(c,code.CompareResultGone,m)
    //    }
    //}
        if face,ok := faceExtractedMap[searchBody.PicUrl];!ok{
            util.ResponseFormat(c, code.RequestParamError, "请重新上传图片")
            return
        } else {
            faceB = face.FaceBytes
        }
    }
    var sysSetApi dbapi.SysSetApi
    analyServerId := ""
    flag, sysconf := sysSetApi.GetServerInfo()
@@ -365,14 +362,7 @@
        util.ResponseFormat(c, code.ComError, "analyServerId为空,配置有误")
        return
    }
    if searchBody.CaptureId == ""{
        if face,ok := faceExtractedMap[searchBody.PicUrl];!ok{
            util.ResponseFormat(c, code.RequestParamError, "请重新上传图片")
            return
        } else {
            faceB = face.FaceBytes
        }
    }
    if faceB == nil {
        util.ResponseFormat(c, code.RequestParamError, "请重新上传图片")
        return
@@ -391,6 +381,8 @@
            }
        }
        arg.TableIds = searchBody.DataBases
    } else {
        arg.TableIds = []string{}
    }
    arg.Source = true // 标识来源是web
    arg.AlarmLevel = searchBody.AlarmLevel
extend/esutil/EsClient.go
@@ -44,7 +44,7 @@
        sources := []interface{}{}
        for _, value := range dat["hits"].([]interface{}) {
            source := value.(map[string]interface{})["_source"].(map[string]interface{})
            source["id"] = value.(map[string]interface{})["_id"]
            source["id"] = value.(map[string]interface{})["id"]
            /*sdkType := source["sdkType"]
            if sdkType != nil {
                sdk, _ := strconv.Atoi(sdkType.(string))