快递鸟电子面单开发文档

1 需求

对接快递鸟api,实现打印顺丰快递面单功能。

2 开发

2.1 数据库设计

2.1.1 电子面单表(es_waybill)

字段 类型 长度 说明
id int 10 Id
bill_name varchar 50 名称
bill_config varchar 255 参数
bill_bean varchar 15 插件beanid

2.1.2 物流公司表(es_logi_company)

新增如下字段:

字段 类型 长度 说明
is_waybill int 10 是否支持电子面单1:支持0:不支持
customer_name: varchar 50 物流公司客户号
customer_pwd varchar 50 物流公司电子面单密码

2.2 架构

2.2.1 整体类图

点击查看大图

2.2.2 包结构说明

在shop-core中开发

com.enation.app.shop.waybill.controllor

com.enation.app.shop.waybill.service

com.enation.app.shop.waybill.service.impl

com.enation.app.shop.waybill.plugin

com.enation.app.shop.waybill.model

ConfigItem类放到 javashop-core项目中

com.enation.app.base.core.model包下

2.2.3 电子面单参数设置的获取

点击查看大图

说明:

  1. 浏览器通过getPlugin方法向控制器发出请求。
  2. 控制器调业务层代码getPlugin方法获取到电子面单的配置项,返回给控制器。
  3. 具体得到电子面单的配置项是通过事件实现,首先通过findPlugin来找到当前插件。然后通过definitionConfigItem方法来拼接配置项。返回配置项List<ConfigItem>,最终通过controller转为json返回浏览器。
  4. 实现可参照order-pay-service项目中WinXinPayPlugin中definitionConfigItem方法。

2.2.4 电子面单的创建

点击查看大图

说明:

  1. 浏览器通过createPrintData方法向控制器发出请求。
  2. 控制器调业务层createPrintData方法来获得电子面单json。
  3. 业务层具体实现首先需要调getOrder方法,传入orderid来获取当前的订单信息,从订单信息中取出相关参数。
  4. 然后通过findPlugin方法来得到当前的插件。然后通过事件来调createPrintData方法来获取电子面单json。
  5. 在具体的插件实现中,首先通过getConfig方法来得到当前的电子面单公司的参数信息,拼接好所需要的参数向快递鸟接口发送请求,返回电子面单json。通过页面打印。

results matching ""

    No results matching ""