Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当新提要/提要更新完成时,如何记录hybris中的最后更改_Hybris - Fatal编程技术网

当新提要/提要更新完成时,如何记录hybris中的最后更改

当新提要/提要更新完成时,如何记录hybris中的最后更改,hybris,Hybris,我知道Hybris有savedvaluesmodel和savedvalueentrymodel来捕获数据模型的最后更改及其属性值(无论最近发生了什么更改),并且它还维护历史记录 只有当我们在登录到Backoffice后修改数据时,这才有效,而对于通过HotFolder提供的提要,这似乎不起作用。我想知道,Hybris是否提供了现成的功能来捕获通过feed对给定数据模型所做的相同信息或更改 根据OOTB代码,我观察到,此类DefaultItemModificationHistoryService负

我知道Hybris有
savedvaluesmodel
savedvalueentrymodel
来捕获数据模型的最后更改及其属性值(无论最近发生了什么更改),并且它还维护历史记录

只有当我们在登录到Backoffice后修改数据时,这才有效,而对于通过HotFolder提供的提要,这似乎不起作用。我想知道,Hybris是否提供了现成的功能来捕获通过feed对给定数据模型所做的相同信息或更改

根据OOTB代码,我观察到,此类
DefaultItemModificationHistoryService
负责记录在模型级别所做的更改(填充值并将最后的更改保存到保存的值模型表中),它位于OOTB后台扩展内部,该扩展已经由
myprojectbakcoffice
扩展扩展,该扩展进一步扩展了
myprojectcore
扩展

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

为了实现这一点,我能想到的其他可能的解决方案是什么

在中找到一些与此相关的文章


请告知。

您可以使用hybris commerce audit framework记录系统中发生的所有更改

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

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

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
这些表的命名约定为_sn。
例如:对于订单项目类型,审计表将自动创建为订单编号

这就是为什么在适用的情况下关闭审核总是明智的。

Hi@Vikrant非常感谢,它对提要起到了作用,并回答了我的主要问题,为了搜索审核是否成功登录,我运行了这个查询并在sql选项卡中找到了结果SELECT*FROM products1sn where timestamp>'2021-05-21'。那么最终用户将如何在后台查看这些更改历史记录呢?是否有在某处查看此数据的规定,或者我需要构建api或服务调用以获取结果?随着表数据可能会增加,ootb是否会附带一个cronjob来删除旧记录?plz建议