一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - SpringBoot實現阿里云快遞物流查詢的示例代碼

SpringBoot實現阿里云快遞物流查詢的示例代碼

2022-03-06 00:55鄭清 Java教程

本文將基于springboot實現快遞物流查詢,物流信息的獲取通過阿里云第三方實現,具有一定的參考價值,感興趣的可以了解一下

一、前言

本文將基于springboot2.4.0實現快遞物流查詢,物流信息的獲取通過阿里云第三方實現。

可參考: https://market.aliyun.com/products/57124001/cmapi022273.html?spm=5176.730005.productlist.d_cmapi022273.e8357d36FVX3Eu&innerSource=search#sku=yuncode1627300000

SpringBoot實現阿里云快遞物流查詢的示例代碼

快遞查詢API,快遞識別單號,快遞接口可查詢上百家快遞公司及物流快遞信息包括:順豐、申通、圓通、韻達、中通、匯通、EMS、天天、國通、德邦、宅急送等幾百家快遞物流公司單號查詢接口。與官網實時同步更新,包含快遞送達時間。

 

二、快遞物流查詢

注:需要購買快遞物流查詢接口服務獲取AppCode

SpringBoot實現阿里云快遞物流查詢的示例代碼

工具類

其中http請求工具類自行查看demo源碼

@Slf4j
public class LogisticUtil {

  /**
   * 查詢物流信息
   *
   * @param params 提交參數
   * @return 物流信息
   * @author zhengqingya
   * @date 2021/10/23 10:48 下午
   */
  public static LogisticVO getLogisticInfo(LogisticDTO params) {
      String no = params.getNo();
      String type = params.getType();
      String appCode = params.getAppCode();

      // 請求地址
      String requestUrl = String.format("https://kdwlcxf.market.alicloudapi.com/kdwlcx?no=%s&type=%s",
              no, StringUtils.isBlank(type) ? "" : type);
      // 發起請求
      Map<String, String> headerMap = Maps.newHashMap();
      headerMap.put("Authorization", String.format("APPCODE %s", appCode));
      String resultJson = HttpUtil.getUrl(requestUrl, headerMap);
      LogisticApiResult logisticApiResult = JSON.parseObject(resultJson, LogisticApiResult.class);
      Assert.notNull(logisticApiResult, "參數異常");
      Assert.isTrue(logisticApiResult.getStatus() == 0, logisticApiResult.getMsg());
      return logisticApiResult.getResult();
  }
}

請求實體類

@Data
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("物流-查詢參數")
public class LogisticDTO {

  @ApiModelProperty(value = "快遞單號 【順豐請輸入運單號 : 收件人或寄件人手機號后四位。例如:123456789:1234】", required = true, example = "780098068058")
  private String no;

  @ApiModelProperty(value = "快遞公司代碼: 可不填自動識別,填了查詢更快【代碼見附表】", required = true, example = "zto")
  private String type;

  @ApiModelProperty(value = "appCode", required = true, example = "xxx")
  private String appCode;
}

響應實體類

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("物流-api響應結果")
public class LogisticApiResult {

  @ApiModelProperty("狀態碼")
  private Integer status;

  @ApiModelProperty("提示信息")
  private String msg;

  @ApiModelProperty("結果集")
  private LogisticVO result;

}
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("物流-響應參數")
public class LogisticVO {

  @ApiModelProperty("運單編號")
  private String number;

  @ApiModelProperty("快遞公司編碼[見附表]")
  private String type;

  @ApiModelProperty("投遞狀態 0快遞收件(攬件)1在途中 2正在派件 3已簽收 4派送失敗 5.疑難件 6.退件簽收")
  private String deliverystatus;

  @ApiModelProperty("是否本人簽收")
  private String issign;

  @ApiModelProperty("快遞公司名字")
  private String expName;

  @ApiModelProperty("快遞公司官網")
  private String expSite;

  @ApiModelProperty("快遞公司電話")
  private String expPhone;

  @ApiModelProperty("快遞員")
  private String courier;

  @ApiModelProperty("快遞員電話")
  private String courierPhone;

  @ApiModelProperty("最新軌跡的時間")
  private String updateTime;

  @ApiModelProperty("發貨到收貨耗時(截止最新軌跡)")
  private String takeTime;

  @ApiModelProperty("快遞公司logo")
  private String logo;

  @ApiModelProperty("事件軌跡集")
  private List<LogisticItem> list;

  @Data
  @Builder
  @NoArgsConstructor
  @AllArgsConstructor
  @ApiModel("事件軌跡集")
  public static class LogisticItem {
      @ApiModelProperty("時間點")
      private String time;

      @ApiModelProperty("事件詳情")
      private String status;
  }
}

 

三、測試api

@Slf4j
@RestController
@RequestMapping("/test")
@Api(tags = "測試api")
public class TestController {

  @ApiOperation("查詢物流信息")
  @GetMapping("getLogistic")
  public LogisticVO getLogistic(@ModelAttribute LogisticDTO params) {
      return LogisticUtil.getLogisticInfo(params);
  }

}

接口文檔 http://127.0.0.1/doc.html

SpringBoot實現阿里云快遞物流查詢的示例代碼

本文demo源碼

https://gitee.com/zhengqingya/java-workspace

到此這篇關于SpringBoot實現阿里云快遞物流查詢的示例代碼的文章就介紹到這了,更多相關SpringBoot 阿里云快遞物流查詢內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://zhengqing.blog.csdn.net/article/details/120927980

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产亚洲女在线精品 | 99视频网址 | 我的家教老师 | 亚洲日本中文字幕在线2022 | 日本视频在线播放 | 欧美四区 | freexxx性欧美3d动漫 | 精品无码国产AV一区二区三区 | 性xxxxⅹhd成人 | 男女男在线精品网站免费观看 | 十大免费批日的软件 | 亚洲精品黄色 | 999精品视频这里只有精品 | 欧美日韩高清不卡一区二区三区 | 亚洲gogo人体大胆西西安徽 | 亚洲精品第二页 | 性的张力 | 黑人巨大精品战中国美女 | 欧美日韩一区视频 | 亚洲成年网站在线观看 | 亚洲欧美一区二区三区在饯 | 香蕉人人超人人超碰超国产 | 国产在线精品亚洲第一区香蕉 | 99热这里有免费国产精品 | 国产9191精品免费观看 | chinesespank打屁股 | 男女做性视频 | 私人家庭影院5577 | 四虎国产成人亚洲精品 | 国产清纯白嫩大学生正在播放 | 久久精品亚洲热综合一本 | 饭冈加奈子黑人解禁在线播放 | 亚洲视频在线一区二区 | 免费看又黄又爽又猛的视频软件- | 日本啊v在线观看 | 国产精品日韩欧美一区二区 | 美女光屁股网站 | 亚洲国产婷婷俺也色综合 | 欧美在线成人免费国产 | 蜜桃视频一区二区三区四区 | 乌克兰bbw |