Php 自定义Magento模块有时会从销售表中获取随机数据

Php 自定义Magento模块有时会从销售表中获取随机数据,php,magento,Php,Magento,故事(Sad):我被指派修复我们长期存在的错误,不幸的是,该模块是由一位已经离开公司的开发人员在两年前编写的:( 功能:该模块用于从Magento获取一些订单/客户详细信息,并将其写入其他几个自定义表中,然后生产中的另一个系统将获取这些信息,以制作并向客户交付所有订单 如何操作:模块有一个扩展自Mage\u Sales\u Model\u Order的模型和一个方法\u afterSave() 它覆盖Mage\u Sales\u Model\u Order::\u afterSave()。此方法

故事(Sad):我被指派修复我们长期存在的错误,不幸的是,该模块是由一位已经离开公司的开发人员在两年前编写的:(

功能:该模块用于从Magento获取一些订单/客户详细信息,并将其写入其他几个自定义表中,然后生产中的另一个系统将获取这些信息,以制作并向客户交付所有订单

如何操作:模块有一个扩展自
Mage\u Sales\u Model\u Order的模型
和一个方法
\u afterSave()
它覆盖
Mage\u Sales\u Model\u Order::\u afterSave()
。此方法包括写入这些附加表的所有代码

错误:在一些奇怪的情况下,一些订单有额外的订单行项目,例如在一个场景中,当实际订单只有一个订单行项目时,它有一个订单有3个订单行项目。经过深入挖掘后,发现其中一个订单行来自同一客户的旧订单,而另一个订单行来自其他订单行项目是实际订单行项目的副本

线索:我尝试了很多东西,但找到的线索很少,我可以看到当我通过xDebug调试时,
\u afterSave
被调用了两次。但是找不到在哪里被调用了两次

我曾多次尝试通过我的安全设置来重新创建问题,但在开发环境中,一切都像往常一样正常工作

我们使用
$this->getAllItems()
获取订单项目数据

帮助:这是一种非常随机的情况,只是为了寻求帮助,让我自己寻找不同的途径,因为我知道没有人能够为我提供一个完整的解决方案。请给我一些指导,因为我已经遇到了几个兔子批发店


Thanx堆!!!如果您需要更多详细信息,请告诉我。

最终我们决定重写模块,使用良好的Magento规程