時,執行以下邏輯:如何使規則的流量預計在Drools中
if (order.getPrice()<200) {
order.setPrice(order.getPrice()-10);
} else {
order.setPrice(order.getPrice()-20);
if (order.getPrice()<200) {
//do nothing
}else {
order.setFreeShip("true");
}
}
以上邏輯,如果我想在Drools的規則來實現。
rule "rule 1"
when
$o:Order (amount<200);
then
$o.setPrice($o.getPrice()-10);
end
rule "rule 2"
when
$o:Order (amount>200);
then
$o.setPrice($o.getPrice()-20);
end
如果事實的價格是210,則激活規則2,然後規則1將被激發。這不是預期的。我不想收回()。那麼這個問題有沒有更好的解決方案?
而且我可以指定一個規則執行後的順序規則,就像一個令牌機制一樣。
謝謝。
注意:想想如果你的'金額'**等於**會發生什麼。 – 2015-11-19 12:29:37