panlei
2019-08-19 3031a80fdec1ff02b7b2087caec69382a4109c04
对于或规则的一些改进
1个文件已修改
20 ■■■■■ 已修改文件
ruleserver/ruleToformula.go 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruleserver/ruleToformula.go
@@ -546,25 +546,7 @@
            if rule.SdkId == "812b674b-2375-4589-919a-5c1c3278a972" && rule.SdkArgAlias != "time_rule"{
                if rule.RuleWithPre == "||" {
                    // 如果是或,从原始数据过滤并直接添加倒过滤数据后面
                    flag := "false"
                    // 把没有相似者的人脸从filterData中删除
                    for index := 0; index < len(am.args); {
                        // 将达不到阈值的相似者从相似者数组中删除
                        logger.Info("看看相似者人数:",len(am.args[index].Liker))
                        if len(am.args[index].Liker) == 0 {
                            // Go 语言中切片删除元素的本质是:以被删除元素为分界点,将前后两个部分的内存重新连接起来。不用怀疑,数组删除元素就这么坑爹
                            am.args = append(am.args[:index], am.args[index+1:]...)
                        } else {
                            index++
                        }
                    }
                    if len(am.args) > 0 {
                        flag = "true"
                    }
                    logger.Info("---------人脸比对符合条件的数量为:",len(am.args))
                    am.filterData = append(am.filterData,am.args...)
                    return LittleRuleResult{am.sdkName, rule.RuleWithPre + "" + flag, rule.Sort}
                    return LittleRuleResult{}
                } else {
                    //logger.Debug("当前小规则是:",rule)
                    flag := "false"