Следующая логика:
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");
}
}
для приведенной выше логики, если я хочу реализовать правило слюни.
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 будет запущено. Этого не ожидается. Я не хочу отступать (). Так есть ли лучшее решение для этой проблемы?
И можно ли указать последовательное правило, как только правило будет выполнено как механизм токенов.
Спасибо.