废话不多说,直接上代码O(∩_∩)O

 

简单身份认证(AppCode)

 

1,工具类

import com.google.common.base.Joiner;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.UnknownHostException;
import java.util.List;
import java.util.Map;

/**
 * 查询物流信息工具类
 * @author xxx
 * @create 2020/9/21 14:41
 * @since 1.0.0
 */
@Slf4j
@Component
@Data
public class LogisticsUtil {

    //物流信息请求地址
    @Value("${aliyun.logistics.host}")
    private String LOGISTICS_HOST;
    //物流信息请求地址后缀
    @Value("${aliyun.logistics.path}")
    private String LOGISTICS_PATH;
    //物流信息请求的APPCODE,这个是购买阿里云查询快递服务获取的,本文最下面有购买地址
    @Value("${aliyun.logistics.appCode}")
    private String LOGISTICS_APPCODE;
  
    public static final String STATUS = "status";
    public static final String SUCCESS = "0";
    public static final String SUCCESS_RESULT = "result";
    public static final String ERROR_MSG = "msg";

    /**
     * 发送获取物流信息的请求
     * 参数有两个no;
     * 快递单号;type:快递公司代码;
     * 1 type可不填 95%能自动识别,填写查询速度更快
     * 2 type自动识别不能100%准确
     * 3 解释:一个单号可对应多个快递公司如:1000745320654,韵达,EMS,百世都有该单号记录。
     * 这种单号系统无法准确自动识别。
     * @param params
     * @return
     */
    public String getLogisticsInfo(Map<String,String> params){
        String retJson = "";
        try {
            URL url = new URL(LOGISTICS_HOST+LOGISTICS_PATH+"?"+asUrlParams(params));
            HttpURLConnection httpURLCon = (HttpURLConnection) url.openConnection();
            httpURLCon.setRequestProperty("Authorization", "APPCODE " + LOGISTICS_APPCODE);// 格式Authorization:APPCODE (中间是英文空格)
            int httpCode = httpURLCon.getResponseCode();
            //正常请求计费(其他均不计费)
            if (httpCode == 200) {
                retJson = read(httpURLCon.getInputStream());
                log.error("获取返回的json:",retJson);
            } else {
                Map<String, List<String>> map = httpURLCon.getHeaderFields();
                retJson = map.get("X-Ca-Error-Message").get(0);
                if (httpCode == 400 && retJson.equals("Invalid AppCode `not exists`")) {
                    log.error("AppCode错误",retJson);
                } else if (httpCode == 400 && retJson.equals("Invalid Url")) {
                    log.error("请求的 Method、Path 或者环境错误",retJson);
                } else if (httpCode == 400 && retJson.equals("Invalid Param Location")) {
                    log.error("参数错误",retJson);
                } else if (httpCode == 403 && retJson.equals("Unauthorized")) {
                    log.error("服务未被授权(或URL和Path不正确)",retJson);
                } else if (httpCode == 403 && retJson.equals("Quota Exhausted")) {
                    log.error("套餐包次数用完",retJson);
                } else {
                    log.error("参数名错误 或 其他错误:",retJson);
                }
            }

        } catch (MalformedURLException e) {
            log.error("查询物流信息,URL格式错误:",e);
        } catch (UnknownHostException e) {
            log.error("查询物流信息,URL地址错误:",e);
        } catch (Exception e) {
            log.error("查询物流信息失败:",e);
        }
        return retJson;
    }

    /**
     * 读取返回结果
     * @param is
     * @return
     * @throws IOException
     */
    private String read(InputStream is) throws IOException {
        StringBuffer sb = new StringBuffer();
        BufferedReader br = new BufferedReader(new InputStreamReader(is));
        String line = null;
        while ((line = br.readLine()) != null) {
            line = new String(line.getBytes(), "utf-8");
            sb.append(line);
        }
        br.close();
        return sb.toString();
    }

    /**
     * 将参数拼接成no=123&type=zto格式
     * @param source
     * @return
     */
    private String asUrlParams(Map<String, String> source){
        return Joiner.on("&")
                .useForNull("")
                .withKeyValueSeparator("=")
                .join(source);
    }

 

2,Service

import com.zy.core.exception.BusinessException;
import com.zy.game.model.in.LogisticsIn;
import com.zy.game.utils.LogisticsUtil;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.Map;

/**
 * @author xxx
 * @create 2020/9/21 17:08
 * @since 1.0.0
 */
@Service
public class LogisticsService {

    @Autowired
    private LogisticsUtil logisticsUtil;

    public String wuliu(LogisticsIn in) throws Exception{
        Map<String,String> map = new HashMap<>();
        map.put("no",in.getNo());
        map.put("type",in.getType());
        String retJson = logisticsUtil.getLogisticsInfo(map);
        JSONObject jObject=new JSONObject(retJson);
        String code = jObject.getString(logisticsUtil.STATUS);
        if(logisticsUtil.SUCCESS.equals(code)) {
            return jObject.getString(logisticsUtil.SUCCESS_RESULT);
        }else{
            throw new BusinessException(jObject.getString(logisticsUtil.ERROR_MSG));
        }
    }
}

3,Controller

import com.zy.game.service.LogisticsService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.alibaba.fastjson.JSON;

/**
 *  Controller
 *
 * @author xxx
 * @date 2020-09-08 09:02:52
 */
@Slf4j
@RestController
@RequestMapping("/tool/")
public class GMatchController extends ZyBaseController {

    @Autowired
    private LogisticsService logisticsService;

    /**
     * 物流信息
     * @return
     */
    @GetMapping("wuliu")
    public BaseOut wuliu(@RequestBody LogisticsIn in){
        try {
            String ret = logisticsService.wuliu(in);
            return setSuccessBaseOut(JSON.parseObject(ret));
        } catch (BusinessException e) {
            log.error("获取物流信息失败:",e);
            return BoxOut.build(BDic.FAIL, e.getMessage());
        } catch (Exception e) {
            log.error("获取物流信息失败:",e);
            return BoxOut.build(BDic.FAIL, e.getMessage());
        }
    }
}

 

签名认证

pom配置

<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>sdk-core-java</artifactId>
            <version>1.1.5</version>
        </dependency>

Java快递单号的正则 java实现的快递查询_Code

 

 在这里下载jar包,关于怎么把jar包加入自己的maven,可以看我另外一篇文章,有详细说明。

 

 服务类

@Value("${aliyun.logistics.appCode}")
    private String LOGISTICS_APPCODE;
    //物流信息请求的APPKEY
    @Value("${aliyun.logistics.appKey}")
    private String LOGISTICS_APPKEY;
    //物流信息请求的APPSECRETE
    @Value("${aliyun.logistics.appSecret}")
    private String LOGISTICS_APPSECRET;

    public static final String STATUS = "status";
    public static final String SUCCESS = "0";
    public static final String SUCCESS_RESULT = "result";
    public static final String ERROR_MSG = "msg";


    public String wuliu(LogisticsIn in) throws Exception{
        Map<String,String> map = new HashMap<>();
        map.put("no",in.getNo());
        map.put("type",in.getType());
        HttpClientBuilderParams httpParam = new HttpClientBuilderParams();
        httpParam.setAppKey(LOGISTICS_APPKEY);
        httpParam.setAppSecret(LOGISTICS_APPSECRET);
        HttpsApiClient httpsApiClient = HttpsApiClient.getInstance();
        httpsApiClient.init(httpParam);
        ApiResponse api =httpsApiClient.getExpressByNo(in.getNo(),in.getType());
        String retJson = getResultString(api);
        JSONObject jObject= JSON.parseObject(retJson);
        String code = jObject.getString(STATUS);
        if(SUCCESS.equals(code)) {
            return jObject.getString(SUCCESS_RESULT);
        }else{
            throw new BusinessException(jObject.getString(ERROR_MSG));
        }
    }

    private static String getResultString(ApiResponse response) throws IOException {
        StringBuilder result = new StringBuilder();
        result.append(SdkConstant.CLOUDAPI_LF).append(new String(response.getBody() , SdkConstant.CLOUDAPI_ENCODING));
        return result.toString();
    }

工具类:

import com.alibaba.cloudapi.sdk.client.ApacheHttpClient;
import com.alibaba.cloudapi.sdk.enums.HttpMethod;
import com.alibaba.cloudapi.sdk.enums.ParamPosition;
import com.alibaba.cloudapi.sdk.enums.Scheme;
import com.alibaba.cloudapi.sdk.model.ApiCallback;
import com.alibaba.cloudapi.sdk.model.ApiRequest;
import com.alibaba.cloudapi.sdk.model.ApiResponse;
import com.alibaba.cloudapi.sdk.model.HttpClientBuilderParams;

/**
 * @description: 阿里云物流信息接口
 * @return:
 * @author: xxx
 * @Date: 2020/9/25 16:40
 */
public class HttpsApiClient extends ApacheHttpClient{


    public final static String HOST = "wuliu.market.alicloudapi.com";

    static HttpsApiClient instance = new HttpsApiClient();

    public static HttpsApiClient getInstance(){return instance;}

    public void init(HttpClientBuilderParams httpClientBuilderParams){
        httpClientBuilderParams.setScheme(Scheme.HTTPS);
        httpClientBuilderParams.setHost(HOST);
        super.init(httpClientBuilderParams);
    }


    /**
     * @description: 获取物流公司名称
     * @param type
     * @param callback
     * @return: void
     * @author: xxx
     * @Date: 2020/9/25 16:43
     */
    public void getExpressList(String type , ApiCallback callback) {
        String path = "/getExpressList";
        ApiRequest request = new ApiRequest(HttpMethod.GET , path);
        request.addParam("type" , type , ParamPosition.QUERY , false);
        sendAsyncRequest(request , callback);
    }

    /**
     * @description: 获取物流公司名称
     * @param type
     * @return: com.alibaba.cloudapi.sdk.model.ApiResponse
     * @author: xxx
     * @Date: 2020/9/25 16:43
     */
    public ApiResponse getExpressList(String type) {
        String path = "/getExpressList";
        ApiRequest request = new ApiRequest(HttpMethod.GET , path);
        request.addParam("type" , type , ParamPosition.QUERY , false);
        return sendSyncRequest(request);
    }

    /**
     * @description: 根据订单编号,物流简称获取物流信息
     * @param no
     * @param type
     * @param callback
     * @return: void
     * @author: xxx
     * @Date: 2020/9/25 16:46
     */
    public void getExpressByNo(String no , String type , ApiCallback callback) {
        String path = "/kdi";
        ApiRequest request = new ApiRequest(HttpMethod.GET , path);
        request.addParam("no" , no , ParamPosition.QUERY , true);
        request.addParam("type" , type , ParamPosition.QUERY , false);

        sendAsyncRequest(request , callback);
    }

    /**
     * @description: 根据订单编号,物流简称获取物流信息
     * @param no
     * @param type
     * @return: com.alibaba.cloudapi.sdk.model.ApiResponse
     * @author: xxx
     * @Date: 2020/9/25 17:20
     */
    public ApiResponse getExpressByNo(String no , String type) {
        String path = "/kdi";
        ApiRequest request = new ApiRequest(HttpMethod.GET , path);
        request.addParam("no" , no , ParamPosition.QUERY , true);
        request.addParam("type" , type , ParamPosition.QUERY , false);
        return sendSyncRequest(request);
    }

    /**
     * @description:单号识别快递公司
     * @param no
     * @param callback
     * @return: void
     * @author: xxx
     * @Date: 2020/9/25 17:20
     */
    public void exCompany(String no , ApiCallback callback) {
        String path = "/exCompany";
        ApiRequest request = new ApiRequest(HttpMethod.GET , path);
        request.addParam("no" , no , ParamPosition.QUERY , true);
        sendAsyncRequest(request , callback);
    }

    /**
     * @description:单号识别快递公司
     * @param no
     * @return: com.alibaba.cloudapi.sdk.model.ApiResponse
     * @author: xxx
     * @Date: 2020/9/25 17:21
     */
    public ApiResponse exCompany(String no) {
        String path = "/exCompany";
        ApiRequest request = new ApiRequest(HttpMethod.GET , path);
        request.addParam("no" , no , ParamPosition.QUERY , true);
        return sendSyncRequest(request);
    }

}

 

 

 

物流公司代码常量类

Java快递单号的正则 java实现的快递查询_spring_02

Java快递单号的正则 java实现的快递查询_Code_03

/**
 * 物流公司对应的简称
 * @author zxq
 * @create 2020/9/21 15:09
 * @since 1.0.0
 */
public class LogisticsKit {

    /** AAE */
    public static final String AAEWEB="AAEWEB";
    /** 安迅物流 */
    public static final String ANXL="ANXL";
    /** 安捷物流 */
    public static final String AJWL="AJWL";
    /** 安世通快递 */
    public static final String ASTEXPRESS="ASTEXPRESS";
    /** 澳多多国际速递 */
    public static final String ADODOXOM="ADODOXOM";
    /** 安达速递 */
    public static final String ADAPOST="ADAPOST";
    /** 澳洲迈速快递 */
    public static final String MAXEEDEXPRESS="MAXEEDEXPRESS";
    /** Aramex */
    public static final String ARAMEX="ARAMEX";
    /** DHL国内件 */
    public static final String DHL="DHL";
    /** DPEX */
    public static final String DPEX="DPEX";
    /** D速 */
    public static final String DEXP="DEXP";
    /** EMS */
    public static final String EMS="EMS";
    /** EWE */
    public static final String EWE="EWE";
    /** FedEx国际 */
    public static final String FEDEXIN="FEDEXIN";
    /** PCA */
    public static final String PCA="PCA";
    /** TNT */
    public static final String TNT="TNT";
    /** UPS */
    public static final String UPS="UPS";
    /** 安捷快递 */
    public static final String ANJELEX="ANJELEX";
    /** 安能 */
    public static final String ANE="ANE";
    /** 安能快递 */
    public static final String ANEEX="ANEEX";
    /** 安信达 */
    public static final String ANXINDA="ANXINDA";
    /** 百福东方 */
    public static final String EES="EES";
    /** 百世快运 */
    public static final String BSKY="BSKY";
    /** 程光 */
    public static final String FLYWAYEX="FLYWAYEX";
    /** 大田 */
    public static final String DTW="DTW";
    /** 德邦 */
    public static final String DEPPON="DEPPON";
    /** 飞洋 */
    public static final String GCE="GCE";
    /** 凤凰 */
    public static final String PHOENIXEXP="PHOENIXEXP";
    /** 富腾达 */
    public static final String FTD="FTD";
    /** 共速达 */
    public static final String GSD="GSD";
    /** 国通 */
    public static final String GTO="GTO";
    /** 黑狗 */
    public static final String BLACKDOG="BLACKDOG";
    /** 恒路 */
    public static final String HENGLU="HENGLU";
    /** 鸿远 */
    public static final String HYE="HYE";
    /** 华企 */
    public static final String HQKY="HQKY";
    /** 急先达 */
    public static final String JOUST="JOUST";
    /** 加运美 */
    public static final String TMS="TMS";
    /** 佳吉 */
    public static final String JIAJI="JIAJI";
    /** 佳怡 */
    public static final String JIAYI="JIAYI";
    /** 嘉里物流 */
    public static final String KERRY="KERRY";
    /** 锦程快递 */
    public static final String HREX="HREX";
    /** 晋越 */
    public static final String PEWKEE="PEWKEE";
    /** 京东 */
    public static final String JD="JD";
    /** 京广 */
    public static final String KKE="KKE";
    /** 九曳 */
    public static final String JIUYESCM="JIUYESCM";
    /** 跨越速运 */
    public static final String KYEXPRESS="KYEXPRESS";
    /** 快捷 */
    public static final String FASTEXPRESS="FASTEXPRESS";
    /** 蓝天 */
    public static final String BLUESKY="BLUESKY";
    /** 联昊通 */
    public static final String LTS="LTS";
    /** 中通快运 */
    public static final String ZTO56="ZTO56";
    /** 壹米滴答 */
    public static final String YIMIDIDA="YIMIDIDA";
    /** 日日顺物流 */
    public static final String RRS="RRS";
    /** 宇鑫物流 */
    public static final String YXWL="YXWL";
    /** 东骏快捷 */
    public static final String DJ56="DJ56";
    /** 联邦快递国际 */
    public static final String FEDEX_GJ="FEDEX_GJ";
    /** 澳邮专线(澳邮中国快运) */
    public static final String AYCA="AYCA";
    /** 城市100 */
    public static final String CITY100="CITY100";
    /** 递四方速递 */
    public static final String D4PX="D4PX";
    /** 好来运快递 */
    public static final String HYLSD="HYLSD";
    /** 捷特快递 */
    public static final String JTKD="JTKD";
    /** 民邦快递 */
    public static final String MB="MB";
    /** 明亮物流 */
    public static final String MLWL="MLWL";
    /** 泛捷快递 */
    public static final String PANEX="PANEX";
    /** 全信通 */
    public static final String QXT="QXT";
    /** 赛澳递 */
    public static final String SAD="SAD";
    /** 上大物流 */
    public static final String SDWL="SDWL";
    /** 速腾快递 */
    public static final String STWL="STWL";
    /** 万家康 */
    public static final String WJK="WJK";
    /** 增益快递 */
    public static final String ZENY="ZENY";
    /** 河马动力 */
    public static final String HEMA="HEMA";
    /** GLS */
    public static final String GLS="GLS";
    /** 澳大利亚邮政 */
    public static final String IADLYYZ="IADLYYZ";
    /** 阿尔及利亚邮政 */
    public static final String IAEJLYYZ="IAEJLYYZ";
    /** 安哥拉邮政 */
    public static final String IAGLYZ="IAGLYZ";
    /** 埃及邮政 */
    public static final String IAJYZ="IAJYZ";
    /** 奥兰群岛邮政 */
    public static final String IALQDYZ="IALQDYZ";
    /** 阿曼邮政 */
    public static final String IAMYZ="IAMYZ";
    /** 埃塞俄比亚邮政 */
    public static final String IASEBYYZ="IASEBYYZ";
    /** 阿森松岛邮政 */
    public static final String IASSDYZ="IASSDYZ";
    /** 波多黎各邮政 */
    public static final String IBDLGYZ="IBDLGYZ";
    /** 白俄罗斯邮政 */
    public static final String IBELSYZ="IBELSYZ";
    /** 保加利亚邮政 */
    public static final String IBJLYYZ="IBJLYYZ";
    /** 黎巴嫩邮政 */
    public static final String IBLNYZ="IBLNYZ";
    /** 玻利维亚邮政 */
    public static final String IBLWYYZ="IBLWYYZ";
    /** 百慕达邮政 */
    public static final String IBMDYZ="IBMDYZ";
    /** 宝通达 */
    public static final String IBTD="IBTD";
    /** 出口易 */
    public static final String ICKY="ICKY";
    /** 德国邮政 */
    public static final String IDGYZ="IDGYZ";
    /** 厄瓜多尔邮政 */
    public static final String IEGDEYZ="IEGDEYZ";
    /** 厄立特里亚邮政 */
    public static final String IELTLYYZ="IELTLYYZ";
    /** 瓜德罗普岛EMS */
    public static final String IGDLPDEMS="IGDLPDEMS";
    /** 俄速递 */
    public static final String IGJESD="IGJESD";
    /** 格陵兰邮政 */
    public static final String IGLLYZ="IGLLYZ";
    /** 韩国邮政 */
    public static final String IHGYZ="IHGYZ";
    /** 互联易 */
    public static final String IHLY="IHLY";
    /** 黑山邮政 */
    public static final String IHSYZ="IHSYZ";
    /** 吉尔吉斯斯坦邮政 */
    public static final String IJEJSSTYZ="IJEJSSTYZ";
    /** 加纳邮政 */
    public static final String IJNYZ="IJNYZ";
    /** 克罗地亚邮政 */
    public static final String IKNDYYZ="IKNDYYZ";
    /** 科特迪瓦EMS */
    public static final String IKTDWEMS="IKTDWEMS";
    /** 卡塔尔邮政 */
    public static final String IKTEYZ="IKTEYZ";
    /** 林克快递 */
    public static final String ILKKD="ILKKD";
    /** 卢森堡邮政 */
    public static final String ILSBYZ="ILSBYZ";
    /** 立陶宛邮政 */
    public static final String ILTWYZ="ILTWYZ";
    /** 马尔代夫邮政 */
    public static final String IMEDFYZ="IMEDFYZ";
    /** 马耳他邮政 */
    public static final String IMETYZ="IMETYZ";
    /** 摩洛哥邮政 */
    public static final String IMLGYZ="IMLGYZ";
    /** 马来西亚EMS */
    public static final String IMLXYEMS="IMLXYEMS";
    /** 马其顿邮政 */
    public static final String IMQDYZ="IMQDYZ";
    /** 马提尼克邮政 */
    public static final String IMTNKYZ="IMTNKYZ";
    /** 南非邮政 */
    public static final String INFYZ="INFYZ";
    /** 挪威邮政 */
    public static final String INWYZ="INWYZ";
    /** 全球快递 */
    public static final String IQQKD="IQQKD";
    /** 苏丹邮政 */
    public static final String ISDYZ="ISDYZ";
    /** 塞尔维亚邮政 */
    public static final String ISEWYYZ="ISEWYYZ";
    /** 斯洛文尼亚邮政 */
    public static final String ISLWNYYZ="ISLWNYYZ";
    /** 塞浦路斯邮政 */
    public static final String ISPLSYZ="ISPLSYZ";
    /** 土耳其邮政 */
    public static final String ITEQYZ="ITEQYZ";
    /** 特立尼达和多巴哥EMS */
    public static final String ITLNDHDBGE="ITLNDHDBGE";
    /** 坦桑尼亚邮政 */
    public static final String ITSNYYZ="ITSNYYZ";
    /** 乌干达邮政 */
    public static final String IWGDYZ="IWGDYZ";
    /** 乌克兰邮政 */
    public static final String IWKLYZ="IWKLYZ";
    /** 文莱邮政 */
    public static final String IWLYZ="IWLYZ";
    /** 乌兹别克斯坦邮政 */
    public static final String IWZBKSTYZ="IWZBKSTYZ";
    /** 小飞龙物流 */
    public static final String IXFLWL="IXFLWL";
    /** 新加坡EMS */
    public static final String IXJPEMS="IXJPEMS";
    /** 叙利亚邮政 */
    public static final String IXLYYZ="IXLYYZ";
    /** 夏浦世纪 */
    public static final String IXPSJ="IXPSJ";
    /** 新西兰邮政 */
    public static final String IXXLYZ="IXXLYZ";
    /** 意大利邮政 */
    public static final String IYDLYZ="IYDLYZ";
    /** 印度邮政 */
    public static final String IYDYZ="IYDYZ";
    /** 伊朗邮政 */
    public static final String IYLYZ="IYLYZ";
    /** 也门邮政 */
    public static final String IYMYZ="IYMYZ";
    /** 以色列邮政 */
    public static final String IYSLYZ="IYSLYZ";
    /** 燕文物流 */
    public static final String IYWWL="IYWWL";
    /** 智利邮政 */
    public static final String IZLYZ="IZLYZ";
    /** 荷兰邮政 */
    public static final String NL="NL";
    /** 全球邮政 */
    public static final String QQYZ="QQYZ";
    /** 瑞士邮政 */
    public static final String SWCH="SWCH";
    /** APAC */
    public static final String APAC="APAC";
    /** 日本大和运输(Yamato) */
    public static final String YAMA="YAMA";
    /** 约旦邮政 */
    public static final String YUEDANYOUZ="YUEDANYOUZ";
    /** 民航 */
    public static final String CAE="CAE";
    /** 亚马逊 */
    public static final String AMAZON="AMAZON";
    /** CCES快递 */
    public static final String CCES="CCES";
    /** 北青小红帽 */
    public static final String BQXHM="BQXHM";
    /** 鸿桥供应链 */
    public static final String HOTSCM="HOTSCM";
    /** 成都善途速运 */
    public static final String CDSTKY="CDSTKY";
    /** 冠达 */
    public static final String GD="GD";
    /** 高铁速递,广通 */
    public static final String GTSD="GTSD";
    /** 海派通物流公司 */
    public static final String HPTEX="HPTEX";
    /** 豪翔物流 */
    public static final String HXWL="HXWL";
    /** 盛邦物流 */
    public static final String SBWL="SBWL";
    /** 台湾邮政 */
    public static final String TAIWANYZ="TAIWANYZ";
    /** UEQ Express */
    public static final String UEQ="UEQ";
    /** 义达国际物流 */
    public static final String YDH="YDH";
    /** 运东西 */
    public static final String YUNDX="YUNDX";
    /** 汇强快递 */
    public static final String ZHQKD="ZHQKD";
    /** ACS雅仕快递 */
    public static final String ACS="ACS";
    /** Australia Post Tracking */
    public static final String AUSTRALIA="AUSTRALIA";
    /** BHT快递 */
    public static final String BHT="BHT";
    /** 巴西邮政 */
    public static final String BR="BR";
    /** DPD */
    public static final String DPD="DPD";
    /** 国际e邮宝 */
    public static final String GJEYB="GJEYB";
    /** BCWELT */
    public static final String BCWELT="BCWELT";
    /** UEX */
    public static final String UEX="UEX";
    /** 爱欧洲 */
    public static final String ZY_AOZ="ZY_AOZ";
    /** AXO */
    public static final String ZY_AXO="ZY_AXO";
    /** 八达网 */
    public static final String ZY_BDA="ZY_BDA";
    /** 贝海速递 */
    public static final String ZY_BH="ZY_BH";
    /** 斑马物流 */
    public static final String ZY_BM="ZY_BM";
    /** 百通物流 */
    public static final String ZY_BT="ZY_BT";
    /** 策马转运 */
    public static final String ZY_CM="ZY_CM";
    /** CUL中美速递 */
    public static final String ZY_CUL="ZY_CUL";
    /** 德运网 */
    public static final String ZY_DYW="ZY_DYW";
    /** 宜送转运 */
    public static final String ZY_ESONG="ZY_ESONG";
    /** 飞碟快递 */
    public static final String ZY_FD="ZY_FD";
    /** 风雷速递 */
    public static final String ZY_FLSD="ZY_FLSD";
    /** 皓晨快递 */
    public static final String ZY_HC="ZY_HC";
    /** 海带宝 */
    public static final String ZY_HDB="ZY_HDB";
    /** 豪杰速递 */
    public static final String ZY_HJSD="ZY_HJSD";
    /** 海淘村 */
    public static final String ZY_HTCUN="ZY_HTCUN";
    /** 华通快运 */
    public static final String ZY_HTONG="ZY_HTONG";
    /** 华兴速运 */
    public static final String ZY_HXSY="ZY_HXSY";
    /** 君安快递 */
    public static final String ZY_JA="ZY_JA";
    /** 骏达快递 */
    public static final String ZY_JDKD="ZY_JDKD";
    /** 久禾快递 */
    public static final String ZY_JH="ZY_JH";
    /** 联邦转运FedRoad */
    public static final String ZY_LBZY="ZY_LBZY";
    /** 龙象快递 */
    public static final String ZY_LX="ZY_LX";
    /** 明邦转运 */
    public static final String ZY_MBZY="ZY_MBZY";
    /** 美嘉快递 */
    public static final String ZY_MJ="ZY_MJ";
    /** 美西转运 */
    public static final String ZY_MXZY="ZY_MXZY";
    /** 欧e捷 */
    public static final String ZY_OEJ="ZY_OEJ";
    /** 欧洲GO */
    public static final String ZY_OZGO="ZY_OZGO";
    /** QQ-EX */
    public static final String ZY_QQEX="ZY_QQEX";
    /** 瑞天快递 */
    public static final String ZY_RT="ZY_RT";
    /** SCS国际物流 */
    public static final String ZY_SCS="ZY_SCS";
    /** 四方转运 */
    public static final String ZY_SFZY="ZY_SFZY";
    /** Sonic-Ex速递 */
    public static final String ZY_SONIC="ZY_SONIC";
    /** 通诚美中快递 */
    public static final String ZY_TCM="ZY_TCM";
    /** 天马转运 */
    public static final String ZY_TM="ZY_TM";
    /** TrakPak */
    public static final String ZY_TPAK="ZY_TPAK";
    /** 唐三藏转运 */
    public static final String ZY_TSZ="ZY_TSZ";
    /** TWC转运世界 */
    public static final String ZY_TWC="ZY_TWC";
    /** 天翼快递 */
    public static final String ZY_TY="ZY_TY";
    /** UCS合众快递 */
    public static final String ZY_UCS="ZY_UCS";
    /** 星辰快递 */
    public static final String ZY_XC="ZY_XC";
    /** 信达速运 */
    public static final String ZY_XDSY="ZY_XDSY";
    /** 新干线快递 */
    public static final String ZY_XGX="ZY_XGX";
    /** 信捷转运 */
    public static final String ZY_XJ="ZY_XJ";
    /** 友家速递(UCS) */
    public static final String ZY_YJSD="ZY_YJSD";
    /** 云骑快递 */
    public static final String ZY_YQ="ZY_YQ";
    /** 优晟速递 */
    public static final String ZY_YSSD="ZY_YSSD";
    /** 运淘美国 */
    public static final String ZY_YTUSA="ZY_YTUSA";
    /** 丹鸟快递 */
    public static final String DANNIAO="DANNIAO";
    /** 长江国际速递 */
    public static final String CJGJ="CJGJ";
    /** 顺心捷达 */
    public static final String SXJD="SXJD";
    /** 速派快递 */
    public static final String FASTGO="FASTGO";
    /** 澳天速运 */
    public static final String AOTSD="AOTSD";
    /** 安鲜达 */
    public static final String EXFRESH="EXFRESH";
    /** ANTS */
    public static final String ANTS="ANTS";
    /** 爱拜物流 */
    public static final String IBUY8="IBUY8";
    /** Aplus物流 */
    public static final String APLUSEX="APLUSEX";
    /** 澳世速递 */
    public static final String AUSEXPRESS="AUSEXPRESS";
    /** 昂威物流 */
    public static final String ONWAY="ONWAY";
    /** 能达 */
    public static final String ND56="ND56";
    /** DHL国际件 */
    public static final String DHL_EN="DHL_EN";
    /** 平安快递 */
    public static final String EFSPOST="EFSPOST";
    /** 秦远物流 */
    public static final String CHINZ56="CHINZ56";
    /** 全晨 */
    public static final String QCKD="QCKD";
    /** 全峰 */
    public static final String QFKD="QFKD";
    /** 全一 */
    public static final String APEX="APEX";
    /** 如风达 */
    public static final String RFD="RFD";
    /** 三态 */
    public static final String SFC="SFC";
    /** 申通 */
    public static final String STO="STO";
    /** 盛丰 */
    public static final String SFWL="SFWL";
    /** 盛辉 */
    public static final String SHENGHUI="SHENGHUI";
    /** 顺达快递 */
    public static final String SDEX="SDEX";
    /** 顺丰 */
    public static final String SFEXPRESS="SFEXPRESS";
    /** 苏宁 */
    public static final String SUNING="SUNING";
    /** 速尔 */
    public static final String SURE="SURE";
    /** 天地华宇 */
    public static final String HOAU="HOAU";
    /** 天天 */
    public static final String TTKDEX="TTKDEX";
    /** 万庚 */
    public static final String VANGEN="VANGEN";
    /** 万家物流 */
    public static final String WANJIA="WANJIA";
    /** 万象 */
    public static final String EWINSHINE="EWINSHINE";
    /** 文捷航空 */
    public static final String GZWENJIE="GZWENJIE";
    /** 新邦 */
    public static final String XBWL="XBWL";
    /** 信丰 */
    public static final String XFEXPRESS="XFEXPRESS";
    /** 亚风 */
    public static final String BROADASIA="BROADASIA";
    /** 宜送 */
    public static final String YIEXPRESS="YIEXPRESS";
    /** 易达通 */
    public static final String QEXPRESS="QEXPRESS";
    /** 易通达 */
    public static final String ETD="ETD";
    /** 优速 */
    public static final String UC56="UC56";
    /** 邮政包裹 */
    public static final String CHINAPOST="CHINAPOST";
    /** 原飞航 */
    public static final String YFHEX="YFHEX";
    /** 圆通 */
    public static final String YTO="YTO";
    /** 源安达 */
    public static final String YADEX="YADEX";
    /** 远成 */
    public static final String YCGWL="YCGWL";
    /** 越丰 */
    public static final String YFEXPRESS="YFEXPRESS";
    /** 运通 */
    public static final String YTEXPRESS="YTEXPRESS";
    /** 韵达快递 */
    public static final String YUNDA="YUNDA";
    /** 宅急送 */
    public static final String ZJS="ZJS";
    /** 芝麻开门 */
    public static final String ZMKMEX="ZMKMEX";
    /** 中国东方 */
    public static final String COE="COE";
    /** 中铁快运 */
    public static final String CRE="CRE";
    /** 中铁物流 */
    public static final String ZTKY="ZTKY";
    /** 中通 */
    public static final String ZTO="ZTO";
    /** 龙邦 */
    public static final String LBEX="LBEX";
    /** 中邮 */
    public static final String CNPL="CNPL";
    /** 品骏快递 */
    public static final String PJKD="PJKD";
    /** 汇通快递,百世快递 */
    public static final String HTKY="HTKY";
    /** 邮政国际包裹 */
    public static final String INTMAIL="INTMAIL";
    /** 联邦快递,FedEx */
    public static final String FEDEX="FEDEX";
    /** 配思航宇 */
    public static final String PEISI="PEISI";
    /** 八达通 */
    public static final String BDT="BDT";
    /** 城际快递 */
    public static final String CJKD="CJKD";
    /** 飞康达 */
    public static final String FKD="FKD";
    /** 环球速运 */
    public static final String HQSY="HQSY";
    /** 捷安达 */
    public static final String JAD="JAD";
    /** 景光物流 */
    public static final String JGWL="JGWL";
    /** 美快 */
    public static final String MK="MK";
    /** 平安达腾飞快递 */
    public static final String PADTF="PADTF";
    /** 全日通快递 */
    public static final String QRT="QRT";
    /** 瑞丰速递 */
    public static final String RFEX="RFEX";
    /** 圣安物流 */
    public static final String SAWL="SAWL";
    /** 速通物流 */
    public static final String ST="ST";
    /** 速必达物流 */
    public static final String SUBIDA="SUBIDA";
    /** 新杰物流 */
    public static final String XJ="XJ";
    /** 中邮物流 */
    public static final String ZYWL="ZYWL";
    /** 澳通速递 */
    public static final String AOL="AOL";
    /** 安的列斯群岛邮政 */
    public static final String IADLSQDYZ="IADLSQDYZ";
    /** 阿尔巴尼亚邮政 */
    public static final String IAEBNYYZ="IAEBNYYZ";
    /** 阿富汗邮政 */
    public static final String IAFHYZ="IAFHYZ";
    /** 阿根廷邮政 */
    public static final String IAGTYZ="IAGTYZ";
    /** 阿鲁巴邮政 */
    public static final String IALBYZ="IALBYZ";
    /** 阿联酋邮政 */
    public static final String IALYYZ="IALYYZ";
    /** 阿塞拜疆邮政 */
    public static final String IASBJYZ="IASBJYZ";
    /** 爱沙尼亚邮政 */
    public static final String IASNYYZ="IASNYYZ";
    /** 博茨瓦纳邮政 */
    public static final String IBCWNYZ="IBCWNYZ";
    /** 冰岛邮政 */
    public static final String IBDYZ="IBDYZ";
    /** 波黑邮政 */
    public static final String IBHYZ="IBHYZ";
    /** 巴基斯坦邮政 */
    public static final String IBJSTYZ="IBJSTYZ";
    /** 便利速递 */
    public static final String IBLSD="IBLSD";
    /** 巴林邮政 */
    public static final String IBLYZ="IBLYZ";
    /** 波兰邮政 */
    public static final String IBOLYZ="IBOLYZ";
    /** 贝邮宝 */
    public static final String IBYB="IBYB";
    /** 达方物流 */
    public static final String IDFWL="IDFWL";
    /** 爱尔兰邮政 */
    public static final String IE="IE";
    /** 俄罗斯邮政 */
    public static final String IELSYZ="IELSYZ";
    /** 飞特物流 */
    public static final String IFTWL="IFTWL";
    /** 瓜德罗普岛邮政 */
    public static final String IGDLPDYZ="IGDLPDYZ";
    /** 哥伦比亚邮政 */
    public static final String IGLBYYZ="IGLBYYZ";
    /** 哥斯达黎加邮政 */
    public static final String IGSDLJYZ="IGSDLJYZ";
    /** 华翰物流 */
    public static final String IHHWL="IHHWL";
    /** 哈萨克斯坦邮政 */
    public static final String IHSKSTYZ="IHSKSTYZ";
    /** 津巴布韦邮政 */
    public static final String IJBBWYZ="IJBBWYZ";
    /** 捷克邮政 */
    public static final String IJKYZ="IJKYZ";
    /** 柬埔寨邮政 */
    public static final String IJPZYZ="IJPZYZ";
    /** 肯尼亚邮政 */
    public static final String IKNYYZ="IKNYYZ";
    /** 科特迪瓦邮政 */
    public static final String IKTDWYZ="IKTDWYZ";
    /** 利比亚邮政 */
    public static final String ILBYYZ="ILBYYZ";
    /** 罗马尼亚邮政 */
    public static final String ILMNYYZ="ILMNYYZ";
    /** 拉脱维亚邮政 */
    public static final String ILTWYYZ="ILTWYYZ";
    /** 列支敦士登邮政 */
    public static final String ILZDSDYZ="ILZDSDYZ";
    /** 摩尔多瓦邮政 */
    public static final String IMEDWYZ="IMEDWYZ";
    /** 孟加拉国EMS */
    public static final String IMJLGEMS="IMJLGEMS";
    /** 毛里求斯邮政 */
    public static final String IMLQSYZ="IMLQSYZ";
    /** 马来西亚邮政 */
    public static final String IMLXYYZ="IMLXYYZ";
    /** 马提尼克EMS */
    public static final String IMTNKEMS="IMTNKEMS";
    /** 墨西哥邮政 */
    public static final String IMXGYZ="IMXGYZ";
    /** 尼日利亚邮政 */
    public static final String INRLYYZ="INRLYYZ";
    /** 葡萄牙邮政 */
    public static final String IPTYYZ="IPTYYZ";
    /** 全通物流 */
    public static final String IQTWL="IQTWL";
    /** 萨尔瓦多邮政 */
    public static final String ISEWDYZ="ISEWDYZ";
    /** 斯洛伐克邮政 */
    public static final String ISLFKYZ="ISLFKYZ";
    /** 塞内加尔邮政 */
    public static final String ISNJEYZ="ISNJEYZ";
    /** 沙特阿拉伯邮政 */
    public static final String ISTALBYZ="ISTALBYZ";
    /** 泰国邮政 */
    public static final String ITGYZ="ITGYZ";
    /** 突尼斯邮政 */
    public static final String ITNSYZ="ITNSYZ";
    /** 危地马拉邮政 */
    public static final String IWDMLYZ="IWDMLYZ";
    /** 乌克兰EMS */
    public static final String IWKLEMS="IWKLEMS";
    /** 乌拉圭邮政 */
    public static final String IWLGYZ="IWLGYZ";
    /** 乌兹别克斯坦EMS */
    public static final String IWZBKSTEMS="IWZBKSTEMS";
    /** 西班牙邮政 */
    public static final String IXBYYZ="IXBYYZ";
    /** 新喀里多尼亚邮政 */
    public static final String IXGLDNYYZ="IXGLDNYYZ";
    /** 新加坡邮政 */
    public static final String IXJPYZ="IXJPYZ";
    /** 希腊邮政 */
    public static final String IXLYZ="IXLYZ";
    /** 夏浦物流 */
    public static final String IXPWL="IXPWL";
    /** 匈牙利邮政 */
    public static final String IXYLYZ="IXYLYZ";
    /** 印度尼西亚邮政 */
    public static final String IYDNXYYZ="IYDNXYYZ";
    /** 英国邮政 */
    public static final String IYGYZ="IYGYZ";
    /** 亚美尼亚邮政 */
    public static final String IYMNYYZ="IYMNYYZ";
    /** 越南邮政 */
    public static final String IYNYZ="IYNYZ";
    /** 易通关 */
    public static final String IYTG="IYTG";
    /** 直布罗陀邮政 */
    public static final String IZBLTYZ="IZBLTYZ";
    /** 日本邮政 */
    public static final String JP="JP";
    /** ONTRAC */
    public static final String ONTRAC="ONTRAC";
    /** 瑞典邮政 */
    public static final String RDSE="RDSE";
    /** 安圭拉邮政 */
    public static final String ANGUILAYOU="ANGUILAYOU";
    /** USPS美国邮政 */
    public static final String USPS="USPS";
    /** YODEL */
    public static final String YODEL="YODEL";
    /** 奥地利邮政 */
    public static final String AT="AT";
    /** 欧亚专线 */
    public static final String EUASIA="EUASIA";
    /** 澳门邮政 */
    public static final String AOMENYZ="AOMENYZ";
    /** 贝海国际 */
    public static final String BHGJ="BHGJ";
    /** 八方安运 */
    public static final String BFAY="BFAY";
    /** 长沙创一 */
    public static final String CSCY="CSCY";
    /** 联合运通 */
    public static final String CTG="CTG";
    /** 广东邮政 */
    public static final String GDEMS="GDEMS";
    /** 汇丰物流 */
    public static final String HFWL="HFWL";
    /** 华强物流 */
    public static final String hq568="hq568";
    /** 华夏龙物流 */
    public static final String HXLWL="HXLWL";
    /** 南方 */
    public static final String NF="NF";
    /** 速递e站 */
    public static final String SDEZ="SDEZ";
    /** 迅驰物流 */
    public static final String XCWL="XCWL";
    /** 希优特 */
    public static final String XYT="XYT";
    /** 亿翔快递 */
    public static final String YXKD="YXKD";
    /** 众通快递 */
    public static final String ZTE="ZTE";
    /** ADP Express Tracking */
    public static final String ADP="ADP";
    /** 比利时邮政 */
    public static final String BEL="BEL";
    /** 秘鲁邮政 */
    public static final String BILUYOUZHE="BILUYOUZHE";
    /** 不丹邮政 */
    public static final String BUDANYOUZH="BUDANYOUZH";
    /** 丹麦邮政 */
    public static final String DK="DK";
    /** EShipper */
    public static final String ESHIPPER="ESHIPPER";
    /** 笨鸟国际 */
    public static final String BN="BN";
    /** 爱购转运 */
    public static final String ZY_AG="ZY_AG";
    /** 加拿大邮政 */
    public static final String CA="CA";
    /** 澳转运 */
    public static final String ZY_AZY="ZY_AZY";
    /** 蜜蜂速递 */
    public static final String ZY_BEE="ZY_BEE";
    /** 百利快递 */
    public static final String ZY_BL="ZY_BL";
    /** 败欧洲 */
    public static final String ZY_BOZ="ZY_BOZ";
    /** 贝易购 */
    public static final String ZY_BYECO="ZY_BYECO";
    /** 赤兔马转运 */
    public static final String ZY_CTM="ZY_CTM";
    /** 德国海淘之家 */
    public static final String ZY_DGHT="ZY_DGHT";
    /** EFS POST */
    public static final String ZY_EFS="ZY_EFS";
    /** ETD */
    public static final String ZY_ETD="ZY_ETD";
    /** 飞鸽快递 */
    public static final String ZY_FG="ZY_FG";
    /** 风行快递 */
    public static final String ZY_FX="ZY_FX";
    /** 皓晨优递 */
    public static final String ZY_HCYD="ZY_HCYD";
    /** 汇丰美中速递 */
    public static final String ZY_HFMZ="ZY_HFMZ";
    /** 360hitao转运 */
    public static final String ZY_HTAO="ZY_HTAO";
    /** 365海淘客 */
    public static final String ZY_HTKE="ZY_HTKE";
    /** 海星桥快递 */
    public static final String ZY_HXKD="ZY_HXKD";
    /** 海悦速递 */
    public static final String ZY_HYSD="ZY_HYSD";
    /** 时代转运 */
    public static final String ZY_JD="ZY_JD";
    /** 骏达转运 */
    public static final String ZY_JDZY="ZY_JDZY";
    /** 金海淘 */
    public static final String ZY_JHT="ZY_JHT";
    /** 领跑者快递 */
    public static final String ZY_LPZ="ZY_LPZ";
    /** 量子物流 */
    public static final String ZY_LZWL="ZY_LZWL";
    /** 美国转运 */
    public static final String ZY_MGZY="ZY_MGZY";
    /** 美速通 */
    public static final String ZY_MST="ZY_MST";
    /** 168 美中快递 */
    public static final String ZY_MZ="ZY_MZ";
    /** 欧洲疯 */
    public static final String ZY_OZF="ZY_OZF";
    /** 全美通 */
    public static final String ZY_QMT="ZY_QMT";
    /** 润东国际快线 */
    public static final String ZY_RDGJ="ZY_RDGJ";
    /** 瑞天速递 */
    public static final String ZY_RTSD="ZY_RTSD";
    /** 速达快递 */
    public static final String ZY_SDKD="ZY_SDKD";
    /** SOHO苏豪国际 */
    public static final String ZY_SOHO="ZY_SOHO";
    /** 上腾快递 */
    public static final String ZY_ST="ZY_ST";
    /** 天际快递 */
    public static final String ZY_TJ="ZY_TJ";
    /** 滕牛快递 */
    public static final String ZY_TN="ZY_TN";
    /** 太平洋快递 */
    public static final String ZY_TPY="ZY_TPY";
    /** 天天海淘 */
    public static final String ZY_TTHT="ZY_TTHT";
    /** 同心快递 */
    public static final String ZY_TX="ZY_TX";
    /** 同舟快递 */
    public static final String ZY_TZH="ZY_TZH";
    /** 文达国际DCS */
    public static final String ZY_WDCS="ZY_WDCS";
    /** 迅达快递 */
    public static final String ZY_XDKD="ZY_XDKD";
    /** 先锋快递 */
    public static final String ZY_XF="ZY_XF";
    /** 西邮寄 */
    public static final String ZY_XIYJ="ZY_XIYJ";
    /** 优购快递 */
    public static final String ZY_YGKD="ZY_YGKD";
    /** 云畔网 */
    public static final String ZY_YPW="ZY_YPW";
    /** 一柒物流 */
    public static final String ZY_YQWL="ZY_YQWL";
    /** 易送网 */
    public static final String ZY_YSW="ZY_YSW";
    /** 至诚速递 */
    public static final String ZY_ZCSD="ZY_ZCSD";
    /** 韵达快运(韵达物流) */
    public static final String YUNDA56="YUNDA56";
    /** 极兔速递 */
    public static final String JITU="JITU";
    /** 众邮快递 */
    public static final String ZYKD="ZYKD";
    /** 澳邮中国快运 */
    public static final String AUEXPRESS="AUEXPRESS";



}

View Code