From d6811336d546e4963a9af3bd7cd8654d14193bce Mon Sep 17 00:00:00 2001 From: liujie <liujie> Date: 星期四, 31 八月 2023 11:58:57 +0800 Subject: [PATCH] broker 卡车公司端 49码头 --- src/main/java/com/stylefeng/guns/modular/system/utils/PortUtil/APMStrategy.java | 93 +++++++++++++++++++++++++++------------------- 1 files changed, 55 insertions(+), 38 deletions(-) diff --git a/src/main/java/com/stylefeng/guns/modular/system/utils/TerminalInterfaceAcquisitionUtil.java b/src/main/java/com/stylefeng/guns/modular/system/utils/PortUtil/APMStrategy.java similarity index 61% rename from src/main/java/com/stylefeng/guns/modular/system/utils/TerminalInterfaceAcquisitionUtil.java rename to src/main/java/com/stylefeng/guns/modular/system/utils/PortUtil/APMStrategy.java index 478c5c1..f7076eb 100644 --- a/src/main/java/com/stylefeng/guns/modular/system/utils/TerminalInterfaceAcquisitionUtil.java +++ b/src/main/java/com/stylefeng/guns/modular/system/utils/PortUtil/APMStrategy.java @@ -1,10 +1,12 @@ -package com.stylefeng.guns.modular.system.utils; +package com.stylefeng.guns.modular.system.utils.PortUtil; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpResponse; import com.alibaba.fastjson.JSONObject; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; +import com.stylefeng.guns.core.common.exception.BizExceptionEnum; +import com.stylefeng.guns.core.exception.GunsException; import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.system.warpper.TerminaleDataWarpper; @@ -14,49 +16,58 @@ import java.util.List; import java.util.stream.Collectors; -/** - * <p> - * 码头-车场-客户 运输状态 第三方接口获取数据 APM码头——Import Availability - * - * </p> - * - * @Author: lisy - * @date: 2023-05-18 16:52 - * @Description: - */ - -public class TerminalInterfaceAcquisitionUtil { +public class APMStrategy implements WharfStrategy{ //Sandbox Interface private static final String url = "https://api-sandbox.apmterminals.com/import-availability"; //Production Interface - private static final String proUrl = "https://api.apmterminals.com/import-availability"; +// private static final String url = "https://api.apmterminals.com/import-availability"; + private static final String auth_url = "https://api.apmterminals.com/oauth/client_credential/accesstoken"; private static final String KEY = "di3RgCcM9zlgb5BG1UiYSIxwYdmYUxTo"; private static final String SECRET = "AIJczPxBeocsEjtI"; + private static String bearerToken = "5dDHq3LwPW3EYZ6rtPGK0zqWsRA5"; - /** - * - * @param containerId 容器id - * @param enums 设施编码 - * @return - */ - public static TerminaleDataWarpper getTerminalStatus(String containerId,String enums){ + public static void main(String[] args) { + getAuth(); + String us = auth_url+ "?assetId="+"EITU1509974"+"&facilityCode="+"USLAX"; + HttpResponse execute = HttpRequest.get(us).header("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36") + .header("cookie", "_ga=GA1.2.1226281326.1675309614; _gid=GA1.2.1467106222.1675309614; _ga=GA1.4.1226281326.1675309614; _gid=GA1.4.1467106222.1675309614; AWSALB=1bWqINVI+LJP87FTEXfEw1Ob1nkbr+I4baSbUGUmu5+/LdiqL9ic04Nj7F0Vz3rvharAG7a8dVe3MX6YMNEbUINVr++CCv/UBw6JeCRS0PcbRLxK7wVHb1lPT8Jl; AWSALBCORS=1bWqINVI+LJP87FTEXfEw1Ob1nkbr+I4baSbUGUmu5+/LdiqL9ic04Nj7F0Vz3rvharAG7a8dVe3MX6YMNEbUINVr++CCv/UBw6JeCRS0PcbRLxK7wVHb1lPT8Jl") + .header("path", "?assetId=" + "EITU1509974" + "&facilityCode=" + "USLAX") + .header("Authorization", "Bearer " + bearerToken) + .execute(); + int status = execute.getStatus(); + System.out.println(status); + System.out.println(execute.body()); + } + + @Override + public TerminaleDataWarpper executeLogic(String... params) { + String containerId = ""; + String enums = ""; + if (params.length == 0) { + throw new GunsException(BizExceptionEnum.REQUEST_EMPTY_ERROR); + } else { + containerId = params[0]; + enums = params[1]; + } + String us = url+ "?assetId="+containerId+"&facilityCode="+enums; HttpResponse execute = HttpRequest.get(us).header("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36") .header("cookie", "_ga=GA1.2.1226281326.1675309614; _gid=GA1.2.1467106222.1675309614; _ga=GA1.4.1226281326.1675309614; _gid=GA1.4.1467106222.1675309614; AWSALB=1bWqINVI+LJP87FTEXfEw1Ob1nkbr+I4baSbUGUmu5+/LdiqL9ic04Nj7F0Vz3rvharAG7a8dVe3MX6YMNEbUINVr++CCv/UBw6JeCRS0PcbRLxK7wVHb1lPT8Jl; AWSALBCORS=1bWqINVI+LJP87FTEXfEw1Ob1nkbr+I4baSbUGUmu5+/LdiqL9ic04Nj7F0Vz3rvharAG7a8dVe3MX6YMNEbUINVr++CCv/UBw6JeCRS0PcbRLxK7wVHb1lPT8Jl") .header("path", "?assetId=" + containerId + "&facilityCode=" + enums) .header("Authorization", "Bearer " + bearerToken) .execute(); + String body = execute.body(); int status = execute.getStatus(); if (status != 200){ getAuth(); - getTerminalStatus(containerId,enums); + return executeLogic(); } ObjectMapper objectMapper = new ObjectMapper(); JsonNode jsonArray = null; @@ -68,7 +79,17 @@ warpper.setLfd(appointmentDateTimeLocal); String appointmentNumber = jsonNode.get("containerId").asText(); warpper.setAppointmentNumber(appointmentNumber); + + String readyForDelivery = jsonNode.get("readyForDelivery").asText(); + if (ToolUtil.isNotEmpty(readyForDelivery)) { + warpper.setAvailability(readyForDelivery); + } + String containerHolds = jsonNode.get("containerHolds").asText(); + String location = jsonNode.get("location").asText(); + if (ToolUtil.isNotEmpty(location)){ + warpper.setClosedArea(location); + } List<String> collect = new ArrayList<>(); if (ToolUtil.isEmpty(containerHolds)){ return warpper; @@ -77,43 +98,41 @@ String[] split = containerHolds.split(","); collect = Arrays.stream(split).collect(Collectors.toList()); if (collect.contains("LINE")){ - warpper.setLineHold(1); + warpper.setLineHold("1"); } if (collect.contains("TMF")){ - warpper.setCustomHold(1); + warpper.setCustomHold("1"); } if (collect.contains("PIER")){ - warpper.setPierpass(1); + warpper.setPierpass("1"); } if (collect.contains("CTF")){ - warpper.setCtf(1); + warpper.setCtf("1"); } - if (collect.contains("AREA")){ - warpper.setClosedArea(1); - } + }else { if (containerHolds.equals("LINE")){ - warpper.setLineHold(1); + warpper.setLineHold("1"); } if (containerHolds.equals("TMF")){ - warpper.setCustomHold(1); + warpper.setCustomHold("1"); } if (containerHolds.equals("PIER")){ - warpper.setPierpass(1); + warpper.setPierpass("1"); } if (containerHolds.equals("CTF")){ - warpper.setCtf(1); + warpper.setCtf("1"); } if (containerHolds.equals("AREA")){ - warpper.setClosedArea(1); + warpper.setClosedArea("1"); } } + break; } - - } catch (IOException e) { throw new RuntimeException(e); } + return warpper; } @@ -130,6 +149,4 @@ bearerToken = (String) o; } } - - } -- Gitblit v1.7.1