如何在新提要/提要更新通过时记录 hybris 中的最后更改

How to log last changes in hybris when the new feed/ feeds updates come through

我知道 Hybris 有 savedvaluesmodelsavedvalueentrymodel 来捕获数据模型的最后更改及其属性值最近发生的任何更改,并且它还维护历史记录。

只有当我们在登录 Backoffice 后修改数据时,这才有效,而对于通过 HotFolder 提供的提要,这似乎不起作用。我想知道,开箱即用的 Hybris 是否有任何规定可以捕获与通过提要对给定数据模型所做的相同信息或更改?

我根据 OOTB 代码观察到的是,此 class DefaultItemModificationHistoryService 负责记录更改(填充值并将最后更改保存到保存的值模型中 table) 这是在模型级别完成的,它位于 OOTB Backoffice 扩展内部,并且此扩展已经由 myprojectbakcoffice 扩展扩展,进一步扩展 myprojectcore 扩展。

为了捕获通过 feed 完成的最后更改,我们考虑在拦截器中处理该逻辑,但是上面的 class 在我们的 myprojectcore 扩展中不可访问,因为它在 Backoffice 中声明.

为了实现这个,我能想到哪些其他可能的解决方案?

here 中找到了一些与此相关的文章。

请指教

您可以使用 hybris commerce 审计框架来记录系统中发生的所有更改。

文档 here 说,“通用审计跟踪每个持久性操作,包括指定类型的创建、修改和删除。审计存储为更改日志,允许您查看项目如何随时间变化。"

但这会带来数据库开销。有一些特定的表会大量记录更改的详细信息。

These tables have a naming convention as <item_type>_sn. 
E.g.: For Order item type, the audit table would be auto created as orders_sn

这就是为什么始终建议在适用时关闭审核的原因。