liuxiaolong
2019-07-31 3b07d34fc238a5401896ada6e8d551a13c92e2fc
fix compare
2个文件已修改
35 ■■■■■ 已修改文件
controllers/fileController.go 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/FaceCompareService.go 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
controllers/fileController.go
@@ -218,10 +218,15 @@
        logger.Debug("arg.TableIds:", arg.TableIds, ",alarmLevel:",arg.AlarmLevel,",treeNodes:",arg.TreeNodes,",searchTime:",arg.SearchTime,
            ",inputValue:",arg.InputValue,",tasks:",arg.Tasks,",compThreshold:",arg.CompareThreshold)
        timeStart := time.Now()
        compareService := service.NewFaceCompareService(arg)
        compareOnce := compareService.Compare()
        //logger.Debug("compareResult.len:",*compareOnce)
        dataList := compareOnce.CompareData
        logger.Debug("比对结束,用时:",time.Since(timeStart))
        service.SortByScore(dataList)
        totalList := len(dataList)
        m := make(map[string]interface{},3)
@@ -232,6 +237,7 @@
        } else {
            m["totalList"] = dataList[0:searchBody.Size]
        }
        logger.Debug("比对加排序返回用时:", time.Since(timeStart))
        util.ResponseFormat(c,code.Success,m)
    }
}
service/FaceCompareService.go
@@ -3,7 +3,6 @@
import (
    esApi "basic.com/pubsub/esutil.git"
    "basic.com/pubsub/protomsg.git"
    "encoding/json"
    "github.com/gogo/protobuf/proto"
    "github.com/satori/go.uuid"
    "nanomsg.org/go-mangos"
@@ -122,15 +121,17 @@
        if resultB == nil || len(*resultB) ==0 {
            continue
        }
        rList :=make([]protomsg.Esinfo,0)
        err = json.Unmarshal(*resultB, &rList)
        if err !=nil{
            logger.Debug("comp recv result Unmarshal err:", err)
        var sdkCompResult protomsg.SdkCompareResult
        //rList :=make([]protomsg.Esinfo,0)
        err = proto.Unmarshal(*resultB, &sdkCompResult)
        if err !=nil {
            logger.Debug("comp sdkCompareResult unmarshal err:", err)
            continue
        }
        logger.Debug("comp len(rList):", len(rList))
        if len(rList) >0 {
            resultList = append(resultList, FillDataToCompareResult(&rList)...)
        logger.Debug("comp len(rList):", len(sdkCompResult.CompareResult))
        if len(sdkCompResult.CompareResult) >0 {
            resultList = append(resultList, FillDataToCompareResult(&sdkCompResult)...)
        }
    }
    logger.Debug("comp totalList.len:", len(resultList))
@@ -176,19 +177,19 @@
}
//填充向前端返回的数据
func FillDataToCompareResult(rList *[]protomsg.Esinfo) []CompareResult {
func FillDataToCompareResult(compResult *protomsg.SdkCompareResult) []CompareResult {
    resultList :=make([]CompareResult,0)
    dbPersonM := make(map[string]*protomsg.Esinfo,0)
    captureM := make(map[string]*protomsg.Esinfo,0)
    dbPersonM := make(map[string]*protomsg.SdkCompareEach, 0)
    captureM := make(map[string]*protomsg.SdkCompareEach, 0)
    personIds :=make([]string,0)
    captureIds := make([]string,0)
    for _,v :=range *rList{
    for _,v :=range compResult.CompareResult{
        if v.Tableid == CaptureTable {
            captureM[v.Id] = &v
            captureM[v.Id] = v
            captureIds = append(captureIds,v.Id)
        } else {
            dbPersonM[v.Id] = &v
            dbPersonM[v.Id] = v
            personIds = append(personIds,v.Id)
        }
    }