说明:为了让买家和卖家实时跟踪订单的物流状态,OpenJWeb集成了快递第三方接口调用功能。可通过快递单号查询订单的到货状况(暂时不考虑一订单发多个快件的情况)。
实现步骤:
1、新增快递公司表结构及对应的维护功能 comm_express_com
2 增加数据字典类型:
WLCOM_CODE_TYPE 快递公司代码类型:主要用于区分友商网编码方式和淘宝网编码方式
EXPRESS_COM 快递公司(友商):定义快递公司名称、编码,编码需于友商网的一致,参考友商网的快递公司编码:
http://code.google.com/p/kuaidi-api/wiki/Open_API_API_URL
因快递公司很多 ,所以可以录入几个本系统用到的快递公司。
3、b2c_order_head表增加三个字段:
express_com vc2(40), express_bill_no vc2(40), express_url ,三个字段分别是快递公司名称、快递公司单号、快递查询 url地址。
4、增加快递api参数设置:kuaidi_key ,值暂时取openjweb中设置的key,需要在正式环境申请一个新的key。如何申请友商网快递接口:
http://www.kuaidi100.com/openapi/applyapi.shtml
事先可在主站的web应用的根目录增加一个kuaidi.html,参考:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">
<META HTTP-EQUIV="expires" CONTENT="0">
</head>
<body>
<a href="http://www.kuaidi100.com/all/sf.shtml" target="_blank">顺丰快递查询</a></li>
<a href="http://www.kuaidi100.com/" target="_blank">快递查询</a>
</body>
</html>
文件存储为UTF-8格式。
5、dwr的B2cUtil中增加:
<include method="updateExpressInfo"/>
6、B2cUtil.java中增加:public static String updateExpressInfo 方法。此方法用于更新订单中的快递信息。
7、订单列表页、编辑页增加快递相关字段及dwr调用。另外myB2cOrder.jsp中增加查看快递的链接。
后台编辑页中,增加了快递公司选择和快递单号填写,如果叫完快递,可填写此信息然后保存。见下图:
在列表页中,增加了快递单号显示,点单号可显示快递信息:
点快递单号:
如果看到快递已签收 ,可勾选订单,点签收按钮标示签收。因为不是所有的快递公司都支持xml和 txt数据交换,所以暂时不做快递信息抓取到本地数据库,而且月快递查询调用次数超过2000次需要付费。
如果对应的快递公司可获取xml和txt数据,也可以做自动签收,实现方式是一旦获取到有派件已签收,则自动将本系统订单的签收状态设置为已签收。
个人中心的订单页面中也增加了查看快递功能(如果订单岗填写了快递单号,个人中心订单页面中可显示查看快递的功能连接),点查看快递后可看到快递的详细信息。