Написание drl в общем виде
Мое требование заключается в том, что мне нужно считать запросы на заказ от одного и того же клиента, не задавая жестко прописанные значения правила в правиле. Причина в том, что если у меня 1000 клиентов, мне нужно написать 1000 правил для них. Чтобы избежать этого, мне нужен универсальный способ обработки всех объектов клиента.
например, есть четыре объекта запроса заказа от customerA и customerB. Мое правило должно иметь возможность вычислять количество запросов от отдельного клиента, а также мне нужно хранить эти объекты.
В основном мне нужна группа sql эквивалентным методом в drools.
Пожалуйста, предоставьте указатели
1 ответ
Вы пробовали что-то подобное?
rule 'Count Order Requests'
when
$c: Customer()
$n: Number() from accumulate(
$o: OrderRequest(customer == $c),
count($o)
)
then
//use $n
end
Это правило будет действовать даже для Клиентов без запроса OrderRequest. Если это не то, что вы ищете, то вы должны добавить ограничение на intValue в $n:
$n: Number(intValue > 0) from accumulate (....)
Надеюсь, поможет,