账户近一个月累计交易金额≥20w rule "rule25" when $w:Event( $channel : getChannelid() == "transfer", $card : getCard_no(), $time : getOper_time().getTime() $amount : getAmount() ) Number( intValue >= 30 ) from accumulate ( $e:Event( getChannelid() == $channel, $histime : getTransactionTime().getTime() < $time, getTransactionTime().getTime() > $time - 30 * 24 * 60 * 60 * 1000L, getCard_no() == $card, $hisamount : getAmount() ) from $w.getEventList(), init(double d = $amount;int flag = 0;) , action(d+=$hisamount;if(d>=200000){flag=1;}), reverse() , result(flag) ) then $w.addCardRuleList(25); end 检查一下这个语法
时间: 2024-04-01 10:36:12 浏览: 90
plug-rule-engine-js:一个用于构建实时规则引擎的PlugJS插件
这是一个Drools规则引擎的规则,语法上看起来没有问题。
这条规则的意思是,当一个事件(Event)满足以下条件时,将会触发编号为25的规则:
1. 事件的渠道ID为“transfer”;
2. 事件的卡号与当前事件的卡号相同;
3. 事件的操作时间在一个月内;
4. 事件的交易金额大于等于30元。
然后,根据累计交易金额是否大于等于20万元,将该卡号添加到规则列表中。规则中使用了Drools的累加器(accumulate)功能,从历史事件中累计交易金额。
阅读全文