您现在的位置:爱折腾>> web>>正文内容

商派Ecstore和Erp对接后订单状态不同步的暂行解决办法

自从Ecstore对接Erp系统之后,各种订单状态不同步的情况时有发生,反馈到商派售后,迟迟没有给解决。据说在用商派Erp系统对接的商家都有此订单状态不同步的情况,咋就不重视呢?难道只管销售抓钱,而不管售后服务了么?这是自取灭亡的节奏啊。

以下三种异常情况经常发生:

  • A. Ecstore创建了订单,但是Erp系统里并没有。这种订单影响还算小一点,因为这种订单还有50%的概率是用户创建了并未付款,碰到这种情况,Erp里有没有订单倒是无所谓了。
  • B. Ecstore订单已经支付了,但是Erp系统里订单还是未支付。这种订单影响颇大,用户已经付款了,而由于Erp系统没有及时更新订单状态,所以仓库人员是不会发货的,这种结果往往是用户来电投诉已经付款了,为什么还不发货。
  • C. Erp发货了,但是Ecstore仍旧显示未发货。这种订单影响同上。

 

商派的整体系统构架是Ecstore和Erp之间有个矩阵G,通过G来传送数据,通过两端日志(Ecstore和Erp)来判断,都是最后某一端发起请求,而另一端没有收到造成的,从而可以基本判定为矩阵G的问题,而这个G是由商派自行管理的,并且有所谓的日志存放只有7天之说法,所以现在得到的官方答复都是矩阵找不到日志,所以无法查证。商派的每款产品都价值不菲,却得到这样的答案,tiandi在这里也只能呵呵了。

所幸,公司离商派很近,约了商派的赵工,碰了个面,了解了一下上面那段所说的通过G来同步的机制,目前针对上文所述3种情况,皆有相对应的暂行解决方法:
针对A和B,通过Erp里的前端店铺去手动抓取Ec里的订单状态,来达到订单状态的统一。

erp
 

而针对C,实际上系统对接之后,Erp开始接管订单,Ecstore就不能更改订单的任何状态了,再加上Ecstore里并没有像Erp那种手动抓取对方系统订单状态的功能,所以最终只能修改代码,使得对接后的Ecstore仍旧可以独立操作订单。
找到/b2c/lib/finder/order.php中下面这行代码:

$cnt = $obj_b2c_shop->count(array('status'=>'bind','node_type|in'=>$node_type));

将其注释掉,并添加一行:

$cnt = 0;

这样再登录Ecstore后台,无论是否对接Erp系统,订单模块都可以自行更改订单状态了。

以上只是暂行的解决方法,最终的问题还是在矩阵G上面,这个除了商派自己修复BUG之外,别无他法了。所以你懂的,等吧,等到花儿也谢了。

相关文章