| | |
| | | "strconv" |
| | | "time" |
| | | |
| | | "basic.com/valib/logger.git" |
| | | "github.com/knetic/govaluate" |
| | | "nanomsg.org/go-mangos" |
| | | "nanomsg.org/go-mangos/protocol/req" |
| | | "nanomsg.org/go-mangos/transport/tcp" |
| | | "github.com/knetic/govaluate" |
| | | "basic.com/valib/logger.git" |
| | | |
| | | "basic.com/pubsub/protomsg.git" |
| | | "ruleprocess/structure" |
| | |
| | | } |
| | | am.TargetNum = len(am.FilterData) // 把符合条件的目标数量更新到targetNum字段 |
| | | if am.TargetNum > 0 { |
| | | return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort} |
| | | return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort,am.FilterData} |
| | | } else { |
| | | return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort} |
| | | return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort,am.FilterData} |
| | | } |
| | | |
| | | } else if rule.SdkArgAlias == "" { |
| | | if am.TargetNum > 0 { |
| | | return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort} |
| | | return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort,am.FilterData} |
| | | } else { |
| | | return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort} |
| | | return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort,am.FilterData} |
| | | } |
| | | } |
| | | return structure.LittleRuleResult{} |
| | |
| | | trackArg["esId"] = esId |
| | | trackArg["threshold"] = compareThreshold |
| | | trackArg["cameraId"] = am.CameraId |
| | | trackArg["bodyFeature"] = arg.BodyFeature |
| | | trackArg["bodyFeature"] = arg.Feature |
| | | trackArg["faceFeature"] = arg.AttachArg.Feature |
| | | logger.Info("请求张增飞比对数据参数:",trackArg) |
| | | b,err := json.Marshal(trackArg) |
| | | if err != nil { |
| | | logger.Error("json序列化错误", err) |
| | | } |
| | | dataId := getCompareMsg(b) |
| | | if esId == dataId { // 说明没比到相似的人 |
| | | if esId == dataId || dataId == ""{ // 说明没比到相似的人 |
| | | logger.Info("没比到人") |
| | | arg.Uuid = dataId |
| | | arg.Uuid = esId |
| | | } else { |
| | | logger.Info("比对出来的dataId:",dataId) |
| | | base := structure.BaseInfo{TargetId:dataId} |
| | |
| | | } |
| | | for _, arg := range am.FilterData { |
| | | fillLiker(threshold,arg,am) |
| | | logger.Info("比完之后的数据追踪数据是:",arg) |
| | | //logger.Info("比完之后的数据追踪数据是:",arg) |
| | | //if len(arg.Liker) == 0 { |
| | | // // 如果没有相似者则删除本目标数据 |
| | | // am.FilterData = append(am.FilterData[:i],am.FilterData[i+1:]...) |
| | |
| | | // return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort} |
| | | //} |
| | | // 无论有没有相似者都要返回true |
| | | return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort} |
| | | return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "true", rule.Sort,nil} |
| | | } |
| | | |
| | | func Push(){ |
| | |
| | | for { |
| | | select { |
| | | case data := <- sender: |
| | | logger.Debug("推送数据:",len(data)) |
| | | //trackMap := make(map[string]interface{}) |
| | | //_ = json.Unmarshal(data, &trackMap) |
| | | //logger.Info("请求张增飞比对数据参数:",trackMap) |
| | | if err = sock.Send(data); err != nil { |
| | | logger.Error("推送socket发送数据失败: %s", err.Error()) |
| | | } |