В слюнях я могу сделать что-то вроде этого
rule "rule1"
dialect "java"
no-loop true
when
$order: Order( $cust: customer )
Customer(id == "213123") from $cust
then
end
class Order {
private String areaCode;
private Customer customer;
}
class Customer {
private String id;
}
Я хочу, чтобы правило определяло, есть ли более 3 разных клиентов, заказавших один и тот же код области в течение часа. Предположим, поступил новый заказ, и я хочу проверить, есть ли 3 или более заказов от разных клиентов в одном и том же районе в течение часа.
rule "rule2"
dialect "java"
no-loop true
when
$order: Order( $cust: customer, $areaCode: areaCode)
Customer( $custId: id) from $cust
Set( size >= 3 ) from accumulate (
Order( $id: id, areaCode == $areaCode, customer.id != $custId ) over window:time( 1h ),
collectSet( $id ) )
then
end
Могу ли я получить доступ к customer.id
способом, который я использую в rule 1
внутри из накопления?