批量同步订单信息(包括状态)到订单中心心得

1、

调用对方接口,设置count,跟踪每次调用次数,看看调用接口总次数是否跟订单数据总量一致。记录错误日志。记录调用失败的订单号。

这是从调用方的角度跟踪检测数据。

2、

将2014年每个月调用方和接收方的数据库中各个状态订单总量进行对比,发现订单量不一致的状态。让接收方将数据库中这些状态的订单号和状态导出给接收方。

然后接收方在数据库中查询这些订单号,找出不一致的原因。

经过实际测试,这种方法效率非常高,一个下午就把2014年1-4月份、2013年下半年的订单对比完成,并且修复了状态不一致的订单

3、

跟团游系统、自助游系统、团队游系统都会跟订单中心pga交互,现在跟团推送订单信息到pga的问题是

1、如果订单没有状态,定义订单状态为"正在处理"。

2、价格错误,需要重新推送价格。

3、如果订单没有线路编号,或者没有线路名称,推送pga失败。

1和3都需要向pga反馈,并定义规则解决这种问题,属于新需求。

对方说现在就差跟团了,搞的只是我的问题,现在跟团系统的现状就是存在1和3这两种情况,总会有异常的情况,你的接口又不支持线路编号和线路名称为空的情况,需要双方协商解决,不只是我这边的问题。光给我施压有毛用!!!昨天就向他们反馈,今天下午才定规则,效率真慢!!

尽快让对方确定规则,我这边要做的只是等待,如果项目延期,也是对方的原因,没有尽快给出规则。

定规则是领导的事情,不是我的事情,做好自己的事情就可以了。

有问题不要光是口头上给对方说,还要发邮件让对方定规则。只是口头上说,对方可能有别的事情要做,会忘记。必须发邮件。

4、

2012-2014年推送全量数据的时候,记录日志的方法

记录每次调用接口传递的订单号和返回结果(1:表示成功;0:失败)和调用时间

在每次调用之后就记录

格式如下:

@file_put_contents('*/'.date('Y-m-d').'error_price_order_pga_2014.log'," ".print_r(array($value,$result,date('Y-m-d H:i:s')),true)." ",FILE_APPEND);

 这样做的目的是什么?

动态、实时跟踪全量脚本跑到哪里了,已经调用了哪些订单号,现在调用到哪个订单号,这样做可以检测全量脚本是否还在执行,可以估计出已经推送百分之几的订单号。

如果脚本突然停掉了,可以另写脚本重新推送剩下的订单号。

记录每次调用接口失败的订单号

格式如下:

@file_put_contents('*/'.date('Y-m-d').'push_error_order_pga_2014.log'," ".print_r($value,true)." ",FILE_APPEND);

这里记录又细分为2种方式

1、每次调用失败就立即记录

2、将每次调用失败的订单号存到数组里面,然后调用结束之后一次性全部写入文件里面

第一种方式最好,因为如果脚本全部执行完毕,第1、2种方式都可以记录调用失败的订单号;

如果脚本没有执行完半路上停掉了,第1种方式可以记录之前调用失败的订单号,但是第2种方式就没法记录之前调用失败的订单号。

原文地址:https://www.cnblogs.com/usual2013blog/p/3813618.html