DROOLS:根据>,<基于>制作条件很容易。或=,但我们如何为人类可读的规则制定条件?

时间:2017-10-16 06:07:34

标签: java drools business-rules

我已经开始探索DROOLS执行引擎了,所以我对DROOLS并不太了解。我发现在创建遵循业务规则的规则时非常容易:

 "Event is large event if number of audience is greater than 1000"

Drools规则将是:

 rule "Large Event"
    when
        event: Event(audience>= 1000 )
    then
        event.setEventType("largeEvent");
  end 

如果Event是类和受众,则eventType是类的属性。 但是我在创建规则时遇到了困难,规则的条件不是>,<,==。请考虑以下示例:

 Bank verifies customer if customer submits document.

如果有人处理此类规则,请帮助我。是否有任何示例或文档可用于学习此类示例。

1 个答案:

答案 0 :(得分:1)

这是微不足道的。唯一的复杂因素是你提出一个简单问题的奇怪迂回方式。

rule "Customer has submitted a document"
when
    $b: Bank()
    Customer( submitDocument )
then
    $b.setVerifiedCustomer( true );
end

注意:虽然这对应于您的评论(为什么不编辑您的问题?)但这似乎相当愚蠢:如果只有一个,为什么要设置银行的属性客户提交的文件?