德邦物流对接测试 springboot dop

本文详细介绍了如何使用SpringBoot进行德邦物流API的对接,包括注册、完善信息、获取SDK,以及对接过程中的新标准轨迹查询、估算价格、下单、运费查询、订单查询、撤销订单和网点查询等接口的实现和测试。
摘要由CSDN通过智能技术生成

dop德邦物流

1 对接准备

1.1 注册

登录地址:http://dop.deppon.com/#/login/loginTab

1.2 完善信息

完善企业信息,获取测试环境信息,如companyCode,appkey,sign值

1.3 获取jdk

选择对应语言,下载sdk

http://dop.deppon.com/#/apiDocs/downloads/relatedDownloads

2 开发

2.1 依赖注入

在resources下新建lib文件夹,将dop-sdk-1.0-SNAPSHOT.jar导入

pom.xml中注入依赖

<!--尝试对接德邦-->
        <dependency>
            <groupId>db.sdk</groupId>
            <artifactId>dop</artifactId>
            <version>1.0</version>
            <scope>system</scope>
            <systemPath>${
   project.basedir}/src/main/resources/lib/dop-sdk-1.0-SNAPSHOT.jar</systemPath>
        </dependency>

接下来,看文档,看接口说明,开始测试。

2.2 新标准轨迹查询

2.2.1 报文校验

在dop平台配置接口,并进行报文校验

请求路径:http://dpsanbox.deppon.com/sandbox-web/standard-order/newTraceQuery.action

消息类型:NEW_TRACE_QUERY

2.2.2 后台@Test
@Test
    public void mailNoQuery() throws UnsupportedEncodingException {
   
        String url = "http://dpsanbox.deppon.com/sandbox-web/standard-order/newTraceQuery.action";

        String params = "{\"mailno\":\"DPK6546599321298\"}";
        String result = DBUtils.postHttp(url,params,companyCode,appkey);
        System.out.println(result);
    }

成功返回:(之前下单测试)

uniquerRequestNumber:唯一值

{
   
	"result":"true",
	"reason":"",
	"resultCode":"1000",
	"responseParam":{
   
		"trace_list":[
			{
   
				"city":"**市(测试)",
				"description":"正常签收,签收人类型:本人/同事/门卫 等",
				"site":"【***】营业部",
				"status":"SIGNED",
				"time":"2022-04-14 03:05:28"
			},
			{
   
				"city":"**市(测试)",
				"description":"此货已滞留,与客户预约改日派送",
				"site":"【***】营业部",
				"status":"ERROR",
				"time":"2022-04-14 06:05:28"
			},
			{
   
				"city":"**市(测试)",
				"description":"拒绝签收:原因",
				"site":"【***】营业部",
				"status":"FAILED",
				"time":"2022-04-14 03:05:28"
			},
			{
   
				"city":"**市(测试)",
				"description":"派送中,派送人:**,派送人电话:***********",
				"site":"【***】营业部",
				"status":"SENT_SCAN",
				"time":"2022-04-14 00:05:28"
			},
			{
   
				"city":"**市(测试)",
				"description":"货物已到达【***营业部】部门",
				"site":"【***】营业部",
				"status":"ARRIVAL",
				"time":"2022-04-13 21:05:28"
			},
			{
   
				"city":"**市(测试)",
				"description":"运输中,离开【上海市转运中心】,下一站【***营业部】(出发到达对应多个)",
				"site":"****转运中心/营业部/枢纽中心",
				"status":"DEPARTURE",
				"time":"2022-04-13 18:05:28"
			},
			{
   
				"city":"**市(测试)",
				"description":"您的订单已被收件员揽收,【上海市青浦区***营业部】库存中",
				"site":"上海市转运中心/营业部/枢纽中心",
				"status":"GOT",
				"time":"2022-04-13 16:05:28"
			}
		],
		"tracking_number":"DPK6546599321298"
	},
	"uniquerRequestNumber":"26049436618692637"
}

2.3 估算价格接口

请求路径:http://dpsanbox.deppon.com/sandbox-web/standard-order/queryPriceTime.action

消息类型:QUERY_PRICE_TIME

2.3.1 估算参数

估算价格、时效参数如下

package com.hc.store.dop;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @author chajintao
 * @date 2022/4/13 10:49
 */
@Data
@ApiModel("估算价格、时效参数")
public class DbEstimatedPriceVO {
   

    @ApiModelProperty(value = "提货方式", notes = "DELIVER_NOUP汽运送货(不含上楼);DELIVER_UP汽运送货(上楼);SELF_PICKUP汽运自提;DELIVER_INGA汽运送货进仓;LARGE_DELIVER_UP大件上楼费;DELIVER_NOUP_AIR送货不上楼")
    private String receiveMethod;

    @ApiModelProperty(value = "物流公司id", notes = "唯一值:DEPPON", required = true)
    private String logisticCompanyID;
    @ApiModelProperty(value = "出发城市", required = true)
    private String originalsaddress;
    @ApiModelProperty(value = "目标城市", required = true)
    private String originalsStreet;
    @ApiModelProperty(value = "寄件时间", required = true)
    private String sendDateTime;
    @ApiModelProperty(value = "总体积", required = true)
    private String totalVolume;
    @ApiModelProperty(value = "总重量", required = true)
    private String totalWeight;
    @ApiModelProperty(value = "保价", notes = "无值时默认为0")
    private String insuredAmount;

}
2.3.2 @Test
@Test
    public void tests() throws UnsupportedEncodingException {
   
        String url = "http://dpsanbox.deppon.com/sandbox-web/standard-order/queryPriceTime.action";

        for (int i = 0; i < 10; i++) {
   
            DbEstimatedPriceVO db = new DbEstimatedPriceVO();
            db.setOriginalsaddress("上海市-上海市-青浦区,上海上海市青浦区徐泾镇明珠路");
            db.setOriginalsStreet("上海市-上海市-青浦区,上海上海市青浦区徐泾镇崧建路");

            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

            db.setSendDateTime(simpleDateFormat.format(new Date()));
            db.setTotalVolume("0.001");
            db.setTotalWeight("500");
            db.setLogisticCompanyID(<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值