刚才是把规则文件已经编写完了,接下来其实可以对规则文件进行简单的优化。
也就是现在虽然规则文件写的是没有问题的,逻辑上也没问题,但是还不是最优的方案,所以接下来可以简单优化一下。
大家可以想一下,在这一共是四条规则,这四条规则有没有可能同时匹配多个?其实是不可能的,也就说这四条规则最终只能有一个去匹配,也就是它们之间其实都是互斥的,这样其实就可以把这四个规则纳为同一个组。
大家还记得前面是不是有这么一个叫做xtv生group,比如叫做my group,把这四个规则都定义在这个组里边,一定要注意这个组的名字不要写错了,都要保持一致,这样它们四个就归为一个组了,叫做my group。
而activision group的特点是什么?就是同一个组里边所有的规则只能有一个出发,可以再给这些规则进行排序。
使用什么排序?大家还记得是不是就是silence,然后来一个十,数值越大是越优先的,这个地方来一个九,这个地方来一个八,最后来个七,这样规则匹配的顺序是不是应该就是自上而下的?首先匹配这一条规则,如果这条规则匹配成功了,后边其实就不会再匹配了,所以这样就更优化一点。
如果第一个规则没有匹配成功,就来匹配第二个规则,订单距离是两百公里以下,这块不用修改。
如果匹配不成功,再匹配第三个,这个是不是应该就是两百到五百公里,这个时候其实就可以把后边这个条件给去掉了。
为什么?因为既然能匹配到这个规则,就说明上面的规则没有匹配上,没有匹配上就说明肯定不是两百公里以下,要不然这条规则肯定就匹配上了,所以这个时候就可以不用再写那么多,直接写右侧范围就可以。
所以就是因为设置了互斥这一点,所以这个地方直接写小于等于五百就可以。
如果这个也匹配不上,就说明什么?就只剩下这个了,肯定就是五百公里以上了,所以这块也不用修改了。
这是简单的加了两个属性,一个是xtv神格入法,把这四条规则加到这个组里面来,同时也加了个silence,进行排序,就是执行优先级。
这是简单,化一下规则文件。