Я новичок в Drools (версия 6.3), и у меня есть проблемы с конкретным правилом. У меня есть класс под названием «Шаги» с простым полем double steps;
. Каждый шаг события представляют собой шаги, предпринятые после предыдущего события и У меня есть рабочее правило, которое говорит, что вы должны двигаться, когда вы не делаете 50 шагов в последний час:Язык правил Drools Fusion: правило шагомера
declare Steps
@role(event)
end
rule "STEPS RULE"
when
$totalSteps : Number(doubleValue < 50) from accumulate(
Steps(stepsCount : steps) over window:time(1h) from entry-point
"entrySteps", sum(stepsCount))
then
System.out.println("STEPS RULE: get moving!");
end
Теперь вместо того, чтобы каждый событие - это шаги, предпринятые после предыдущего события, я хочу, чтобы они представляли собой кумулятивные шаги. Поэтому, если событие имеет 50 шагов, и вы делаете 20 шагов, я хочу, чтобы следующее событие состояло из 70 шагов. Вопрос в том, как я могу изменить свое правило, чтобы оно все равно работало?
Необходимо уточнить условия. Если «Шаги» - это входящее событие, его данные фиксированы, поэтому, если он содержит 50 шагов, то это все. Вы можете * вывести * что-то из двух событий в последовательности, так что один шаг с 50 и следующий с 20 вырабатывает сумму 70, но это не кажется вашей проблемой. – laune