如何使用drools来适应复杂条件?;

如何使用drools来适应复杂条件?;,drools,drools-flow,Drools,Drools Flow,最近我在学习drools,我认为它是一个很棒的软件。drools的核心思想是drl文件。我们应该编写规则文件,例如: rule "name" when then end when部分取决于实体的属性。例如:现在我有一个用户类,可以在我的规则中使用 public class User { private int money; private Date time; //getter and setter.....

最近我在学习drools,我认为它是一个很棒的软件。drools的核心思想是drl文件。我们应该编写规则文件,例如:

 rule "name"
   when
   then
 end
when部分取决于实体的属性。例如:现在我有一个用户类,可以在我的规则中使用

 public  class User {
        private int money; 
        private Date time;
            //getter and setter.....   
        }

现在我需要知道一个用户在2012-09-11和2013-01-01之间的资金,如果他的资金>100,那么请执行我的逻辑,drools怎么做?

您可以在DRL文件中编写一个函数,如果2012-09-11和2013-01-01之间的用户资金大于100,该函数将返回true。您可以在规则的一部分使用eval时调用此函数,然后在该部分中写入逻辑。不过,在DRL文件中写入函数不是一个好主意

使用以下规则可以轻松实现:

rule 'Some Rule'
    $u: User( time > '11-sep-2009', time < '01-jan-2013', money > 100)
then
    //do your logic here. $u references the User object
end
规则“某些规则”
$u:用户(时间>2009年9月11日,时间<2013年1月1日,金钱>100)
然后
//在这里做你的逻辑$u引用用户对象
结束
希望有帮助