我有一个班级"记录"它有一个Map [String,Double](Scala)属性" payOrders"我想知道地图是否包含大于50的值。我写的规则是这样的:
rule "user1"
dialect "mvel"
no-loop
when
$user:Records($pay:payOrders.values)
exists(Number(doubleValue > 50) from $pay)
then
System.out.println("user1")
end
问题是没有错误,但规则不起作用!没有产出。
然后,我尝试打印$pay
。输出为$pay:MapLike(300.0)
。首先,我认为drools无法分析此类型,因此我将$user:Records($pay:payOrders.values)
修改为$user:Records($pay:payOrders.values.toList)
。但它仍然没有打印。似乎一旦我添加了存在的行,规则就不起作用了。
任何人都可以帮助我吗?谢谢!