历史交易从哪里取出来的
时间: 2023-10-10 10:13:03 浏览: 39
历史交易数据可能存在于不同的数据源中,具体取出的方式取决于您的业务场景和数据架构。在drools中,通常将历史交易数据预先加载到工作内存(working memory)中,以便规则引擎能够对其进行匹配和聚合计算。
在上面的规则中,历史交易数据是通过以下累加器(accumulator)来取出的:
```
accumulate(
$e : Event(
getChannelid() == $channel,
getTransactionTime().getTime() < $time,
getTransactionTime().getTime() > $time - 30 * 24 * 60 * 60 * 1000L,
getCard_no() == $card
);
$count : count($e);
$count >= 30
)
```
该累加器会从工作内存中获取所有与当前事件卡号和渠道相同、且时间在最近30天内的交易记录。在累加器中,我们使用了一个Event模式来匹配交易记录,并使用getChannelid、getTransactionTime和getCard_no等方法来获取交易的渠道、时间和卡号信息。然后,我们使用count函数来统计在滑动窗口内的交易数量,最后判断交易数量是否大于等于30。
需要注意的是,这里的Event是一个自定义的类,可能需要您根据自己的业务场景来进行定义和实现。在实际应用中,您可能需要将历史交易数据从数据库、文件或其他数据源中读取出来,并将其转换为规则引擎可以处理的数据结构,并将其加载到工作内存中。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)