物流系统的设计总结

       本人供职于某电商公司的物流部门,负责相关物流信息系统的开发,其中最重要的系统就是为了对接各大快递公司,从各家快递公司获取订单的物流轨迹。刚开始公司为了省事是通过付费方式统一从快递100获取各大家物流公司的物流轨迹,但由于订单数量比较大,每个月都要支付一笔不小的费用给快递100,费用是不超过10万则每单0.1元,超过则每单0.05元,系统每天调用快递100的单量大概是100万,这样每天就需要支付5.5万的费用。为了节省费用,选择直接对接各大快递公司,这样每年可以为公司省下2000万的费用。

     该物流系统具有以下特点

1.对接的快递公司数量多

    目前主流的快递公司有差不多30家,包括申通、圆通、汇通、中通、邮政等快递公司,商家发货单量最多的快递公司是四通一达。

2.各家快递公司的接口各异

    有些是使用JAVA接口,比如京东,但大部分是使用HTTP接口,比如申通。接口的返回格式也不同,有些是使用XML格式数据,大部分是使用JSON字符串。物流轨迹的状态不一样,物流轨迹的状态主要有揽收、在途、送货、签收、拒收、异常件。但有些快递公司是没有揽收、拒收或异常件的,需要对物流轨迹的状态进行统一转换。有些快递公司是没有轨迹的状态,只有描述,这样我们就需要从描述中识别出状态,由于各种状态不统一,有些随意,所以经常会出现错误识别的问题,比如轨迹是拒收状态的,但我们识别成签收,或签收状态我们识别成拒收,这会影响业务,比如财务退款就是根据拒收判断的。为了解决这种频繁的错误识别问题,我们使用JS脚本来识别轨迹状态,再把JS脚本放入JAVA中的JS引擎里面执行,这样系统升级时不需要频繁启动,只需要更新数据库里

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值