Drools嵌套聚合

问题描述 投票:0回答:1

流口水中有以下规则。发生的事情是$expense是基于每张卡进行评估的。但我希望它能够在每个用户的基础上进行评估(The $u)。

rule "test":

when
    $u: User()
    $card: Card(user_id == $u.id)
    $expense: Double() from 
         accumulate (
             $transaction: Transactions(
                   card_id == $card.id,
                   transaction_date >= 'startDate',
                   transaction_date <= 'endDate'
         ),
         sum($transaction.amount)
then
    // do something with expense. 
    // but I want to the expense to be the expense for a user. not a card.
end
java jboss drools rules rule-engine
1个回答
1
投票

我认为在事务处理中需要一个用户ID字段才能工作。在这种情况下,您可以从规则中删除卡,以便它可以在用户的​​基础上工作。

© www.soinside.com 2019 - 2024. All rights reserved.