快递100订阅物流信息开发流程
java项目在商城开发项目中,卖家发货后,需对物流信息进行跟踪,以便卖家及买家及时获取物流信息
使用表格:
express ——快递公司记录表(记录快递公司代码及公司名称)
express_order_mapping ——快递订单映射表(记录所发快递信息,根据获取到的快递信息更新快递信息)
express_status ——快递状态表
goods_order2_oplog ——订单状态日志表
获取快递信息流程如下:

1、卖家发送快递时,获取快递单号等信息传入 express_order_maping 表中
order_id :内部订单号
ex_company_code :快递公司代码
express_no :快递单号
city_from :发货城市
city_to :收货城市

2、扫描器扫描express_order_maping,向快递100发送订阅请求
1)扫描器通过扫描获取需要订阅至快递100且未扫描的快递对象
2)将扫描到的对象向快递100订阅
3)根据订阅成功与失败分别更改express_order_maping 中status值

3、将快递100回调的对象存入express_status
1)在订阅时,通过url向回调对象传参:mappingId,
String mURL = CALLBACKURL + "?mappingid=" + expressOrderMapping.getId();
2)将订阅后,快递100返回的json对象进行解析,获取相关参数
3)将mappingId及订阅后获取的参数存入express_status表中

4、扫描器扫描express_status表,更新express_order_mapping表
1)扫描器通过扫描,获取express_status表中,数据同步处理器未扫描的对象
2)将获取到的对象的相关参数存入express_order_mapping表中,因express_order_mapping中mappingid是主键,
是对其mappingId对应的对象进行更新
3)更改express_status表中p_status状态

5、在订单完成以下操作时:订单支付成功、商家完成发货、消费者签收货物、
消费者请求取消订单、商家请求取消订单、订单已取消同步更新goods_order2_oplog表中的op_type

6、通过goodsId查询express_order_maping表,获取详细物流信息;在express表中对应获取快递公司名称
通过goodsId查询goods_order2_oplog表,获取订单状态。

 

posted on 2019-02-25 19:22  qqzhulu  阅读(506)  评论(0编辑  收藏  举报