快递100使用

1.快递100 接口文档

链接: 接口文档

2.授权参数

授权Key: qZgsNFSo5391
customer:8EEA8C4FB90B275E228CA322EF0E61E5
在这里插入图片描述

3.技术文档

链接: 技术文档

4.使用

 <dependency>
            <groupId>com.github.kuaidi100-api</groupId>
            <artifactId>sdk</artifactId>
            <version>1.0.11</version>
        </dependency>

5.在Resource新建account.properties,(如果测试想简便一点可以在Controller层定义)

key =qZgsNFSo5391
customer =8EEA8C4FB90B275E228CA322EF0E61E5

Controller

package com.by.controller;

import cn.hutool.json.JSONUtil;
import com.by.moder.KuaiDi100;
import com.google.gson.Gson;
import com.kuaidi100.sdk.api.QueryTrack;
import com.kuaidi100.sdk.core.IBaseClient;
import com.kuaidi100.sdk.pojo.HttpResult;
import com.kuaidi100.sdk.request.QueryTrackParam;
import com.kuaidi100.sdk.request.QueryTrackReq;
import com.kuaidi100.sdk.utils.SignUtils;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/api/kuaidi")
public class KD100Controller {

    // 78407934393973
    String key = "xWiJZHwG7450";
    String customer = "310387D0D9D6D20B59BE433AD0BA8E60";

    @GetMapping("/select")
    private KuaiDi100 kuaidi(String com, String num) throws Exception {

        QueryTrackReq queryTrackReq = new QueryTrackReq();
        QueryTrackParam queryTrackParam = new QueryTrackParam();
        queryTrackParam.setCom(com);
        queryTrackParam.setNum(num);
        String param = new Gson().toJson(queryTrackParam);

        queryTrackReq.setParam(param);
        queryTrackReq.setCustomer(customer);
        queryTrackReq.setSign(SignUtils.querySign(param ,key,customer));

        IBaseClient baseClient = new QueryTrack();
        HttpResult execute = baseClient.execute(queryTrackReq);
        String body = execute.getBody();
        KuaiDi100 kuaiDi100 = JSONUtil.toBean(body, KuaiDi100.class);
        String message = kuaiDi100.getMessage();
        if (message.equals("ok")){
            return kuaiDi100;
        }else {
            System.out.println("未签收");
        }

        return null;
    }

}

model

package com.by.moder;

import com.by.enums.KuaiDiStatus;
import lombok.Data;

import java.util.List;


@Data
public class KuaiDi100 {
    private String message;
    private String state;
    private String stateX;

    public String getStateX() {
        return KuaiDiStatus.findByCode(Integer.valueOf(this.state)).getDesc();
    }

    private List<sata> data;


    @Data
    public static class sata{
        private String time;
        private String ftime;
        private String context;
    }

}

枚举enums

package com.by.enums;

import lombok.Getter;
import lombok.Setter;

import java.util.Arrays;
import java.util.Optional;

public enum KuaiDiStatus {
    SALE(1,"揽收"),
    OFF_SALE(0,"在途"),
    DELETE(3,"签收");

    @Getter@Setter
    private Integer code;
    @Getter@Setter
    private String desc;

    KuaiDiStatus(Integer code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    public static KuaiDiStatus findByCode(Integer code){
        Optional<KuaiDiStatus> first = Arrays.stream(KuaiDiStatus.values()).filter(item->item.getCode().equals(code)).findFirst();
        return first.orElse(null);
    }
}

最后就可以测试了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值