---
panlei
2019-12-13 596fe167e4bdba16b68ad9951bec0f2b077e0122
---
1个文件已修改
20 ■■■■ 已修改文件
algorithm/middleware/middleware.go 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
algorithm/middleware/middleware.go
@@ -73,7 +73,7 @@
                    //logger.Info("当前走的规则是--:", groupRule.Rules[j],sdkName,groupRule.Rules[j].SdkArgAlias, "---","")
                    for _, areaMap := range sdkData.AreaMapList {
                        ruleResult := CallSo(sdk.Id, groupRule.Rules[j], areaMap,lable,args,message)
                        if groupRule.Rules[j].RuleWithPre == "contain" {
                        if groupRule.Rules[j].RuleWithPre == "⊇" {
                            assembleDta(args,groupRule.Rules[j-1],groupRule.Rules[j])
                            // 把当前小规则结果置空
                            ruleResult = structure.LittleRuleResult{}
@@ -461,15 +461,15 @@
//    }
//}
func assembleData(args *structure.SdkDatas,resultSplice []*structure.LittleRuleResult,groupRule protomsg.GroupRule) {
    for index,result := range resultSplice {
        if strings.Contains(result.Result,"contain") {
            assembleDta(args,groupRule.Rules[index-1],groupRule.Rules[index])
            // 删除带有contain的规则结果
            resultSplice = append(resultSplice[:index],resultSplice[index+1:]...)
        }
    }
}
//func assembleData(args *structure.SdkDatas,resultSplice []*structure.LittleRuleResult,groupRule protomsg.GroupRule) {
//    for index,result := range resultSplice {
//        if strings.Contains(result.Result,"contain") {
//            assembleDta(args,groupRule.Rules[index-1],groupRule.Rules[index])
//            // 删除带有contain的规则结果
//            resultSplice = append(resultSplice[:index],resultSplice[index+1:]...)
//        }
//    }
//}
// 如果规则组中有包含符号,把规则组之后的规则对应的算法和区域提取的数据装配到前面去
func assembleDta(args *structure.SdkDatas,rule1,rule2 *protomsg.Rule) {
        // 拿到后面的那个区域的数据