From 3031a80fdec1ff02b7b2087caec69382a4109c04 Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期一, 19 八月 2019 17:07:02 +0800 Subject: [PATCH] 对于或规则的一些改进 --- ruleserver/ruleToformula.go | 42 ++++++++++++++++++++++++------------------ 1 files changed, 24 insertions(+), 18 deletions(-) diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go index 270d352..a236fbd 100644 --- a/ruleserver/ruleToformula.go +++ b/ruleserver/ruleToformula.go @@ -336,6 +336,7 @@ } } } + logger.Info("face鏍囩鐨勯暱搴︼細",len(faces)) //for _,face := range faces { // //logger.Debug("鈥斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�斺�擾_______________鐪嬬湅浜鸿劯鐨勫潗鏍�:",face.Location) //} @@ -544,24 +545,28 @@ if rule.PolygonId == am.areaId { // 绠楁硶鍜屽尯鍩熼兘寰楀鐨勪笂 if rule.SdkId == "812b674b-2375-4589-919a-5c1c3278a972" && rule.SdkArgAlias != "time_rule"{ - //logger.Debug("褰撳墠灏忚鍒欐槸锛�",rule) - flag := "false" - // 鎶婃病鏈夌浉浼艰�呯殑浜鸿劯浠巉ilterData涓垹闄� - for index := 0; index < len(am.filterData); { - // 灏嗚揪涓嶅埌闃堝�肩殑鐩镐技鑰呬粠鐩镐技鑰呮暟缁勪腑鍒犻櫎 - logger.Info("鐪嬬湅鐩镐技鑰呬汉鏁帮細",len(am.filterData[index].Liker)) - if len(am.filterData[index].Liker) == 0 { - // Go 璇█涓垏鐗囧垹闄ゅ厓绱犵殑鏈川鏄細浠ヨ鍒犻櫎鍏冪礌涓哄垎鐣岀偣锛屽皢鍓嶅悗涓や釜閮ㄥ垎鐨勫唴瀛橀噸鏂拌繛鎺ヨ捣鏉ャ�備笉鐢ㄦ��鐤戯紝鏁扮粍鍒犻櫎鍏冪礌灏辫繖涔堝潙鐖� - am.filterData = append(am.filterData[:index], am.filterData[index+1:]...) - } else { - index++ + if rule.RuleWithPre == "||" { + return LittleRuleResult{} + } else { + //logger.Debug("褰撳墠灏忚鍒欐槸锛�",rule) + flag := "false" + // 鎶婃病鏈夌浉浼艰�呯殑浜鸿劯浠巉ilterData涓垹闄� + for index := 0; index < len(am.filterData); { + // 灏嗚揪涓嶅埌闃堝�肩殑鐩镐技鑰呬粠鐩镐技鑰呮暟缁勪腑鍒犻櫎 + logger.Info("鐪嬬湅鐩镐技鑰呬汉鏁帮細",len(am.filterData[index].Liker)) + if len(am.filterData[index].Liker) == 0 { + // Go 璇█涓垏鐗囧垹闄ゅ厓绱犵殑鏈川鏄細浠ヨ鍒犻櫎鍏冪礌涓哄垎鐣岀偣锛屽皢鍓嶅悗涓や釜閮ㄥ垎鐨勫唴瀛橀噸鏂拌繛鎺ヨ捣鏉ャ�備笉鐢ㄦ��鐤戯紝鏁扮粍鍒犻櫎鍏冪礌灏辫繖涔堝潙鐖� + am.filterData = append(am.filterData[:index], am.filterData[index+1:]...) + } else { + index++ + } } + if len(am.filterData) > 0 { + flag = "true" + } + logger.Info("---------浜鸿劯姣斿绗﹀悎鏉′欢鐨勬暟閲忎负锛�",len(am.filterData)) + return LittleRuleResult{am.sdkName, rule.RuleWithPre + "" + flag, rule.Sort} } - if len(am.filterData) > 0 { - flag = "true" - } - logger.Info("---------浜鸿劯姣斿绗﹀悎鏉′欢鐨勬暟閲忎负锛�",len(am.filterData)) - return LittleRuleResult{am.sdkName, rule.RuleWithPre + "" + flag, rule.Sort} } if rule.SdkId == "812b674b-2375-4589-919a-5c1c3278a97e" { // 浜鸿劯妫�娴� //logger.Debug("褰撳墠灏忚鍒欐槸锛�",rule) @@ -572,13 +577,14 @@ var args []*Arg if rule.RuleWithPre == "&&" { args = am.filterData + // 鍏堟竻绌鸿繃婊ゅ悗鐨勬暟鎹紝鍐嶅線閲屽鏈杩囨护鍚庣殑鏁版嵁 + am.filterData = am.filterData[0:0] //logger.Info("杩囨护鍚庣殑args鐨勯暱搴︿负锛�",len(args)) } else { args = am.args + //涓嶆竻绌轰箣鍓嶇殑杩囨护鏁版嵁锛岀户缁 //logger.Info("娌¤繃婊ょ殑args鐨勯暱搴︿负锛�",len(args)) } - // 鍏堟竻绌鸿繃婊ゅ悗鐨勬暟鎹紝鍐嶅線閲屽鏈杩囨护鍚庣殑鏁版嵁 - am.filterData = am.filterData[0:0] //logger.Info("-----------------------浜鸿劯杩囨护鐨刟rgs閲岀殑鏁伴噺锛�", len(args)) for _, arg := range args { var formula string -- Gitblit v1.8.0