mirror of
https://gitee.com/binary/weixin-java-tools.git
synced 2026-03-10 00:13:40 +08:00
🆕 #2574 【小程序】物流服务增加即时配送查询相关接口
This commit is contained in:
@@ -136,4 +136,7 @@ public interface WxMaExpressService {
|
||||
* @throws WxErrorException 模拟更新订单状态失败时返回
|
||||
*/
|
||||
void testUpdateOrder(WxMaExpressTestUpdateOrderRequest wxMaExpressTestUpdateOrderRequest) throws WxErrorException;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -11,6 +11,10 @@ import cn.binarywang.wx.miniapp.bean.delivery.GetOrderRequest;
|
||||
import cn.binarywang.wx.miniapp.bean.delivery.GetOrderResponse;
|
||||
import cn.binarywang.wx.miniapp.bean.delivery.MockUpdateOrderRequest;
|
||||
import cn.binarywang.wx.miniapp.bean.delivery.MockUpdateOrderResponse;
|
||||
import cn.binarywang.wx.miniapp.bean.delivery.QueryWaybillTraceRequest;
|
||||
import cn.binarywang.wx.miniapp.bean.delivery.QueryWaybillTraceResponse;
|
||||
import cn.binarywang.wx.miniapp.bean.delivery.TraceWaybillRequest;
|
||||
import cn.binarywang.wx.miniapp.bean.delivery.TraceWaybillResponse;
|
||||
import me.chanjar.weixin.common.error.WxErrorException;
|
||||
|
||||
/**
|
||||
@@ -25,76 +29,104 @@ import me.chanjar.weixin.common.error.WxErrorException;
|
||||
*/
|
||||
public interface WxMaImmediateDeliveryService {
|
||||
|
||||
/**
|
||||
* 拉取已绑定账号.
|
||||
* <pre>
|
||||
* 文档地址:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/immediate-delivery/by-business/immediateDelivery.getBindAccount.html
|
||||
* </pre>
|
||||
*
|
||||
* @return 响应
|
||||
* @throws WxErrorException 异常
|
||||
*/
|
||||
BindAccountResponse getBindAccount() throws WxErrorException;
|
||||
/**
|
||||
* 拉取已绑定账号.
|
||||
* <pre>
|
||||
* 文档地址:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/immediate-delivery/by-business/immediateDelivery.getBindAccount.html
|
||||
* </pre>
|
||||
*
|
||||
* @return 响应
|
||||
* @throws WxErrorException 异常
|
||||
*/
|
||||
BindAccountResponse getBindAccount() throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 下配送单接口.
|
||||
* <pre>
|
||||
* 文档地址:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/immediate-delivery/by-business/immediateDelivery.addOrder.html
|
||||
* </pre>
|
||||
*
|
||||
* @param request request
|
||||
* @return 响应
|
||||
* @throws WxErrorException 异常
|
||||
*/
|
||||
AddOrderResponse addOrder(AddOrderRequest request) throws WxErrorException;
|
||||
/**
|
||||
* 下配送单接口.
|
||||
* <pre>
|
||||
* 文档地址:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/immediate-delivery/by-business/immediateDelivery.addOrder.html
|
||||
* </pre>
|
||||
*
|
||||
* @param request request
|
||||
* @return 响应
|
||||
* @throws WxErrorException 异常
|
||||
*/
|
||||
AddOrderResponse addOrder(AddOrderRequest request) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 拉取配送单信息.
|
||||
* <pre>
|
||||
* 商家可使用本接口查询某一配送单的配送状态,便于商家掌握配送情况。
|
||||
* 文档地址:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/immediate-delivery/by-business/immediateDelivery.getOrder.html
|
||||
* </pre>
|
||||
*
|
||||
* @param request request
|
||||
* @return 响应
|
||||
* @throws WxErrorException 异常
|
||||
*/
|
||||
GetOrderResponse getOrder(GetOrderRequest request) throws WxErrorException;
|
||||
/**
|
||||
* 拉取配送单信息.
|
||||
* <pre>
|
||||
* 商家可使用本接口查询某一配送单的配送状态,便于商家掌握配送情况。
|
||||
* 文档地址:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/immediate-delivery/by-business/immediateDelivery.getOrder.html
|
||||
* </pre>
|
||||
*
|
||||
* @param request request
|
||||
* @return 响应
|
||||
* @throws WxErrorException 异常
|
||||
*/
|
||||
GetOrderResponse getOrder(GetOrderRequest request) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 取消配送单接口.
|
||||
* <pre>
|
||||
* 文档地址:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/immediate-delivery/by-business/immediateDelivery.cancelOrder.html
|
||||
* </pre>
|
||||
*
|
||||
* @param request request
|
||||
* @return 响应
|
||||
* @throws WxErrorException 异常
|
||||
*/
|
||||
CancelOrderResponse cancelOrder(CancelOrderRequest request) throws WxErrorException;
|
||||
/**
|
||||
* 取消配送单接口.
|
||||
* <pre>
|
||||
* 文档地址:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/immediate-delivery/by-business/immediateDelivery.cancelOrder.html
|
||||
* </pre>
|
||||
*
|
||||
* @param request request
|
||||
* @return 响应
|
||||
* @throws WxErrorException 异常
|
||||
*/
|
||||
CancelOrderResponse cancelOrder(CancelOrderRequest request) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 异常件退回商家商家确认收货接口.
|
||||
* <pre>
|
||||
* 文档地址:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/immediate-delivery/by-business/immediateDelivery.abnormalConfirm.html
|
||||
* </pre>
|
||||
*
|
||||
* @param request request
|
||||
* @return 响应
|
||||
* @throws WxErrorException 异常
|
||||
*/
|
||||
AbnormalConfirmResponse abnormalConfirm(AbnormalConfirmRequest request) throws WxErrorException;
|
||||
/**
|
||||
* 异常件退回商家商家确认收货接口.
|
||||
* <pre>
|
||||
* 文档地址:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/immediate-delivery/by-business/immediateDelivery.abnormalConfirm.html
|
||||
* </pre>
|
||||
*
|
||||
* @param request request
|
||||
* @return 响应
|
||||
* @throws WxErrorException 异常
|
||||
*/
|
||||
AbnormalConfirmResponse abnormalConfirm(AbnormalConfirmRequest request) throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 模拟配送公司更新配送单状态, 该接口只用于沙盒环境,即订单并没有真实流转到运力方.
|
||||
* <pre>
|
||||
* 文档地址:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/immediate-delivery/by-business/immediateDelivery.mockUpdateOrder.html
|
||||
* </pre>
|
||||
*
|
||||
* @param request request
|
||||
* @return 响应
|
||||
* @throws WxErrorException 异常
|
||||
*/
|
||||
MockUpdateOrderResponse mockUpdateOrder(MockUpdateOrderRequest request) throws WxErrorException;
|
||||
|
||||
|
||||
/**
|
||||
* 商户使用此接口向微信提供某交易单号对应的运单号。微信后台会跟踪运单的状态变化
|
||||
* <pre>
|
||||
* 文档地址:https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/industry/express/express_search.html
|
||||
* </pre>
|
||||
*
|
||||
* @param request request
|
||||
* @return 响应
|
||||
* @throws WxErrorException 异常
|
||||
*/
|
||||
TraceWaybillResponse traceWaybill(TraceWaybillRequest request) throws WxErrorException;
|
||||
|
||||
|
||||
/**
|
||||
* 商户在调用完trace_waybill接口后,可以使用本接口查询到对应运单的详情信息
|
||||
* <pre>
|
||||
* 文档地址:https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/industry/express/express_search.html
|
||||
* </pre>
|
||||
*
|
||||
* @param request request
|
||||
* @return 响应
|
||||
* @throws WxErrorException 异常
|
||||
*/
|
||||
QueryWaybillTraceResponse queryWaybillTrace(QueryWaybillTraceRequest request)
|
||||
throws WxErrorException;
|
||||
|
||||
/**
|
||||
* 模拟配送公司更新配送单状态, 该接口只用于沙盒环境,即订单并没有真实流转到运力方.
|
||||
* <pre>
|
||||
* 文档地址:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/immediate-delivery/by-business/immediateDelivery.mockUpdateOrder.html
|
||||
* </pre>
|
||||
*
|
||||
* @param request request
|
||||
* @return 响应
|
||||
* @throws WxErrorException 异常
|
||||
*/
|
||||
MockUpdateOrderResponse mockUpdateOrder(MockUpdateOrderRequest request) throws WxErrorException;
|
||||
|
||||
}
|
||||
|
||||
@@ -13,8 +13,14 @@ import cn.binarywang.wx.miniapp.bean.delivery.GetOrderRequest;
|
||||
import cn.binarywang.wx.miniapp.bean.delivery.GetOrderResponse;
|
||||
import cn.binarywang.wx.miniapp.bean.delivery.MockUpdateOrderRequest;
|
||||
import cn.binarywang.wx.miniapp.bean.delivery.MockUpdateOrderResponse;
|
||||
import cn.binarywang.wx.miniapp.bean.delivery.QueryWaybillTraceRequest;
|
||||
import cn.binarywang.wx.miniapp.bean.delivery.QueryWaybillTraceResponse;
|
||||
import cn.binarywang.wx.miniapp.bean.delivery.TraceWaybillRequest;
|
||||
import cn.binarywang.wx.miniapp.bean.delivery.TraceWaybillResponse;
|
||||
import cn.binarywang.wx.miniapp.bean.delivery.base.WxMaDeliveryBaseResponse;
|
||||
import cn.binarywang.wx.miniapp.constant.WxMaApiUrlConstants;
|
||||
import cn.binarywang.wx.miniapp.constant.WxMaApiUrlConstants.InstantDelivery;
|
||||
import cn.binarywang.wx.miniapp.constant.WxMaConstants;
|
||||
import com.google.gson.JsonElement;
|
||||
import com.google.gson.JsonObject;
|
||||
import javassist.bytecode.ConstPool;
|
||||
@@ -157,6 +163,29 @@ public class WxMaImmediateDeliveryServiceImpl implements WxMaImmediateDeliverySe
|
||||
MockUpdateOrderResponse.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public TraceWaybillResponse traceWaybill(
|
||||
TraceWaybillRequest request) throws WxErrorException {
|
||||
String responseContent = this.wxMaService.post(InstantDelivery.TRACE_WAYBILL_URL, request);
|
||||
TraceWaybillResponse response = TraceWaybillResponse.fromJson(responseContent);
|
||||
if (response.getErrcode() == -1) {
|
||||
throw new WxErrorException(WxError.fromJson(responseContent, WxType.MiniApp));
|
||||
}
|
||||
return response;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public QueryWaybillTraceResponse queryWaybillTrace(
|
||||
QueryWaybillTraceRequest request) throws WxErrorException {
|
||||
String responseContent = this.wxMaService.post(InstantDelivery.QUERY_WAYBILL_TRACE_URL, request);
|
||||
QueryWaybillTraceResponse response = QueryWaybillTraceResponse.fromJson(responseContent);
|
||||
if (response.getErrcode() == -1) {
|
||||
throw new WxErrorException(WxError.fromJson(responseContent, WxType.MiniApp));
|
||||
}
|
||||
return response;
|
||||
}
|
||||
|
||||
/**
|
||||
* 解析响应.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user