package com.stylefeng.guns.modular.system.utils; import com.fasterxml.jackson.databind.JsonNode; import cn.hutool.http.HttpRequest; import com.fasterxml.jackson.databind.ObjectMapper; import com.stylefeng.guns.core.util.ToolUtil; import java.io.IOException; /** *

* 第三方卡车公司列表数据 *

* * @Author: lisy * @date: 2023-05-19 16:01 * @Description: */ public class CargoQueryInteraceUtil { private static final String dotUrl = "https://mobile.fmcsa.dot.gov/qc/services/carriers/"; private static final String mcUrl = "https://mobile.fmcsa.dot.gov/qc/services/carriers/docket-number/"; private static final String API_WEB_KEY = "59ed4972942476ba86e3272d892ef1628cf86003"; public static InsertCargoDetailsWarpper getData(String mcNumber, String dotNumber) throws Exception{ InsertCargoDetailsWarpper insertCargoDetailsWarpper = new InsertCargoDetailsWarpper(); String us = ""; String body = ""; if (ToolUtil.isNotEmpty(mcNumber) && ToolUtil.isNotEmpty(dotNumber)){ us = dotUrl+ mcNumber+"?webKey="+API_WEB_KEY; body = HttpRequest.get(us) .header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36") .header("Cookie", "AWSALB=WAH8+geD5YgGqse36enwBDh/DaRTHQ+VjfiaxK2lr9cX20CMl3LyjRlLxptADtdfOEtBea28f+TCXFdo3atMsA97tAitTIAObN5KgsbdgHv65YM1ww40sS2/2LJ6; AWSALBCORS=WAH8+geD5YgGqse36enwBDh/DaRTHQ+VjfiaxK2lr9cX20CMl3LyjRlLxptADtdfOEtBea28f+TCXFdo3atMsA97tAitTIAObN5KgsbdgHv65YM1ww40sS2/2LJ6") .header("path", "/qc/services/carriers/"+mcNumber+"?webKey="+API_WEB_KEY) .header("Scheme", "https") .header("Accept","*/*") .header("Accept-Encoding","gzip, deflate, br") .header("Connection","keep-alive") .header("Referer","same-origin") .execute().body(); } if (ToolUtil.isNotEmpty(mcNumber) && ToolUtil.isEmpty(dotNumber) ){ us = dotUrl+ mcNumber+"?webKey="+API_WEB_KEY; body = HttpRequest.get(us) .header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36") .header("Cookie", "AWSALB=WAH8+geD5YgGqse36enwBDh/DaRTHQ+VjfiaxK2lr9cX20CMl3LyjRlLxptADtdfOEtBea28f+TCXFdo3atMsA97tAitTIAObN5KgsbdgHv65YM1ww40sS2/2LJ6; AWSALBCORS=WAH8+geD5YgGqse36enwBDh/DaRTHQ+VjfiaxK2lr9cX20CMl3LyjRlLxptADtdfOEtBea28f+TCXFdo3atMsA97tAitTIAObN5KgsbdgHv65YM1ww40sS2/2LJ6") .header("path", "/qc/services/carriers/"+dotNumber+"?webKey="+API_WEB_KEY) .header("Scheme", "https") .header("Accept","*/*") .header("Accept-Encoding","gzip, deflate, br") .header("Connection","keep-alive") .header("Referer","same-origin") .execute().body(); } if (ToolUtil.isNotEmpty(dotNumber) && ToolUtil.isEmpty(mcNumber)){ us = mcUrl+ dotNumber+"?webKey="+API_WEB_KEY; body = HttpRequest.get(us) .header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36") .header("Cookie", "AWSALB=WAH8+geD5YgGqse36enwBDh/DaRTHQ+VjfiaxK2lr9cX20CMl3LyjRlLxptADtdfOEtBea28f+TCXFdo3atMsA97tAitTIAObN5KgsbdgHv65YM1ww40sS2/2LJ6; AWSALBCORS=WAH8+geD5YgGqse36enwBDh/DaRTHQ+VjfiaxK2lr9cX20CMl3LyjRlLxptADtdfOEtBea28f+TCXFdo3atMsA97tAitTIAObN5KgsbdgHv65YM1ww40sS2/2LJ6") .header("path", "/qc/services/carriers/docket-number/"+dotNumber+"?webKey="+API_WEB_KEY) .header("Scheme", "https") .header("Accept","*/*") .header("Accept-Encoding","gzip, deflate, br") .header("Connection","keep-alive") .header("Referer","same-origin") .execute().body(); } ObjectMapper mapper = new ObjectMapper(); System.out.println(body); JsonNode jsonNode = mapper.readTree(body); JsonNode carrierJson; if(ToolUtil.isEmpty(dotNumber)){ carrierJson= jsonNode.get("content").get("carrier"); }else { carrierJson= jsonNode.get("content").get(0).get("carrier"); } String dotNumber1 = carrierJson.get("dotNumber").asText(); insertCargoDetailsWarpper.setUSDot(dotNumber1); String s = carrierJson.get("legalName").asText(); insertCargoDetailsWarpper.setCompanyName(s); String phyStreet = carrierJson.get("phyStreet").asText(); String phyZipcode = carrierJson.get("phyZipcode").asText(); String phyCountry = carrierJson.get("phyCountry").asText(); String phyCity = carrierJson.get("phyCity").asText(); String phyState = carrierJson.get("phyState").asText(); String address = phyCity + " " + phyState + " " + phyZipcode; insertCargoDetailsWarpper.setAddress(address); String totalDrivers = carrierJson.get("totalDrivers").asText(); insertCargoDetailsWarpper.setDrivers(totalDrivers); String vehicleOosInsp = carrierJson.get("vehicleOosInsp").asText(); insertCargoDetailsWarpper.setInspection(vehicleOosInsp); String totalPowerUnits = carrierJson.get("totalPowerUnits").asText(); insertCargoDetailsWarpper.setPowerUnits(totalPowerUnits); return insertCargoDetailsWarpper; } }