我是 Drools(6.3 版)的新手,我在想出特定规则时遇到了一些麻烦。我有一个名为 Steps 的类,只有一个简单的字段double steps;
。每个步骤事件都代表自上一个事件以来所采取的步骤,我有一个工作规则,即当你在最后一小时内不做 50 步时,你需要开始运动:
declare Steps
@role(event)
end
rule "STEPS RULE"
when
$totalSteps : Number( doubleValue < 50 ) from accumulate(
Steps( stepsCount : steps ) over window:time( 1h ) from entry-point
"entrySteps", sum( stepsCount ) )
then
System.out.println("STEPS RULE: get moving!");
end
现在,每个事件都是自上一个事件以来所采取的步骤,我希望它们代表累积步骤。因此,如果一个事件有 50 个步骤,而你走了 20 个步骤,那么我希望下一个事件有 70 个步骤。问题是我怎样才能改变我的规则,让它仍然有效?