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


    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种方式就没法记录之前调用失败的订单号。

  • 相关阅读:
    ABP 从数据库读取数据时的注意事项
    JQuery/JS插件 jsTree加载树,普通加载,点一级加载一级
    MVC HandleErrorAttribte特性
    GetForegroundWindow获取的是托管进程ApplicationFrameHost,而不是真正的进程,比如XD软件
    异常:System.InvalidOperationException: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms FIPS信息标准限值了MD5加密
    c# word文档的操作
    winfrom 图片裁剪 圆形头像
    css3有哪些新特性?
    元素的alt和title有什么异同?
    label的作用是什么?怎么用的?
  • 原文地址:https://www.cnblogs.com/usual2013blog/p/3813618.html
Copyright © 2020-2023  润新知