去掉一部分规则过滤数据中的对于代码,人脸比对直接给阈值了,不需要再用阈值过滤一遍了
1个文件已修改
13 ■■■■■ 已修改文件
ruleserver/ruleToformula.go 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruleserver/ruleToformula.go
@@ -451,24 +451,11 @@
        if rule.PolygonId == am.areaId { // 算法和区域都得对的上
            if rule.SdkId == "812b674b-2375-4589-919a-5c1c3278a972" && rule.SdkArgAlias != "time_rule" && rule.SdkArgAlias != "compareBase" {
                argValue, err := strconv.ParseFloat(rule.SdkArgValue, 64)
                if err != nil {
                    logger.Error("规则配置的阈值非法")
                    return LittleRuleResult{am.sdkName, rule.RuleWithPre + "" + "false", rule.Sort}
                }
                flag := "false"
                for _, obj := range am.filterData {
                    for index := 0; index < len(obj.Liker); {
                        // 将达不到阈值的相似者从相似者数组中删除
                        logger.Debug("=======================相似值:", float64(obj.Liker[index].CompareScore*100))
                        if float64(obj.Liker[index].CompareScore*100) < argValue {
                            // Go 语言中切片删除元素的本质是:以被删除元素为分界点,将前后两个部分的内存重新连接起来。不用怀疑,数组删除元素就这么坑爹
                            obj.Liker = append(obj.Liker[:index], obj.Liker[index+1:]...)
                        } else {
                            index++
                        }
                    }
                }
                // 把没有相似者的人脸从filterData中删除
                for index := 0; index < len(am.filterData); {
                    // 将达不到阈值的相似者从相似者数组中删除