2013年4月15日 星期一 晴

一、问题的提出 开淘宝店开久了,肯定是有问题件的。虽然我们在单子上打印了淘宝昵称,但快递哪里是没有的,更多时候快递只会电话或者QQ告诉我们运单号,偶尔告诉一下卖家姓名和地址。但是,现在每天都发上百个包,只根据电话里告知的运单号很难查出来是谁买的以及是哪天的订单。

通过收件人姓名,可以在淘宝助理查的。但是,通过快递运单号反查是哪个淘宝订单,我还没找到有这样的软件。

二、问题的解决 不得已,今天上午花了半天时间写了一下这个功能。

  1. 在open.taobao.com上查了半天,也实在没有这个实时查询的API。 觉得taobao.logistics.orders.detail.get还勉强可以,可以根据时间段查询出买家昵称和快递运单号。

    基本思路是,通过taobao.logistics.orders.detail.get,获取出买家昵称和快递运单号,保存在数据库里(我是保存在SAE的KVDB里),然后再做一个查询页面,输入运单号,可以把买家昵称查询出来。

  2. taobao.logistics.orders.detail.get查询的是某一时间段的,我可以用cron,定时查询,如果发现没有的话就写入到KVDB里。KVDB用来干这个非常适合。

  3. 其他考虑到的问题: (1)某些天不发货的,这样就加入参只搜索卖家发货的单子,并在代码里加了保护; (2)还有周末和节假日的问题,做了一下特殊处理,保证所有订单都能被统计入内。

  4. 三个月后,我会再添加一个功能: 每天凌晨Cron操作,就把三个月前的运单号信息清理掉,保证KVDB不会膨胀到无限大。

三、我写Cron的一般开发流程:

  1. 先写单一的HTTP GET功能,用以调试测试。
  2. 如果上述功能OK,再添加到cron里。
  3. 如果需要运行时间长的话,再放到taskqueue里就好。

开发完了,有待后面验证。