HttpClientTest.java 9.05 KB
package com.erry.iclear.dateInterface;

import com.arronlong.httpclientutil.HttpClientUtil;
import com.arronlong.httpclientutil.builder.HCB;
import com.arronlong.httpclientutil.common.HttpConfig;
import com.arronlong.httpclientutil.common.HttpHeader;
import com.arronlong.httpclientutil.common.HttpResult;
import com.arronlong.httpclientutil.common.SSLs;
import com.arronlong.httpclientutil.exception.HttpProcessException;
import com.erry.iclear.dateInterface.api.request.Mawb;
import com.erry.iclear.dateInterface.api.request.MawbDetail;
import com.erry.iclear.dateInterface.util.SHA256Util;
import com.google.gson.Gson;
import org.apache.http.client.HttpClient;
import org.apache.http.Header;

import java.io.FileNotFoundException;
import java.math.BigDecimal;
import java.util.*;

public class HttpClientTest {
    public static void main(String[] args) throws HttpProcessException, FileNotFoundException {
//        System.out.println(HttpClientUtil.get(HttpConfig.custom().url("https://40.73.78.157:8780/system/healthCheck")));
//        System.out.println(HttpClientUtil.post(HttpConfig.custom().url("https://40.73.78.157:8780/customs/sendMawb")));



        String masbJson ="{\"ieFlag\":\"E\",\"type\":\"EX\",\"agentCode\":\"1111980005\",\"agentName\":\"联邦快递(中国)有限公司\",\"billNo\":\"07127275242_00062210\",\"contrNo\":\"FY2016\",\"customMaster\":\"2233\",\"cutMode\":\"101\",\"declTrnRel\":\"0\",\"distinatePort\":\"ASM000\",\"ediId\":\"001\",\"entryId\":\"25512456\",\"feeCurr\":\"EUR\",\"feeMark\":\"3\",\"feeRate\":3.65,\"grossWet\":4,\"iePort\":\"0101\",\"insurCurr\":\"MOP\",\"insurMark\":\"3\",\"insurRate\":0.02457,\"netWt\":3.857,\"ownerCode\":\"1234567890\",\"ownerName\":\"琥博信息科技有限公司\",\"packNo\":1,\"tradeCountry\":\"US\",\"tradeMode\":\"0110\",\"tradeCode\":\"1234567890\",\"trafMode\":\"5\",\"tradeName\":\"琥博信息科技有限公司\",\"transMode\":\"3\",\"wrapType\":\"22\",\"tradeCodeScc\":\"123456789012345678\",\"ownerCodeScc\":\"123456789012345678\",\"tradeAreaCode\":\"US\",\"entyPortCode\":\"310302\",\"goodsPlace\":\"\",\"declareName\":\"申报人员姓名_50\",\"overseasConsignorCode\":\"AEO Code 50位\",\"overseasConsigneeCode\":\"境外收货人编码_50位\",\"overseasConsigneeEname\":\"境外收货人名称(外文)_400\",\"mawbDetailList\":[{\"detailId\":\"12251\",\"classMark\":\"\",\"codeTS\":\"8538900000\",\"declPrice\":128,\"declTotal\":128,\"dutyMode\":\"1\",\"exgNo\":\"\",\"exgVersion\":\"\",\"firstUnit\":\"035\",\"firstQty\":0,\"gunit\":\"007\",\"gmodel\":\"用于PLC可编程控制器|琥博|6ES7153|无其他1\",\"gname\":\"PLC可编程控制器零件/接口模块\",\"gno\":\"1\",\"gqty\":1,\"originCountry\":\"US\",\"secondQty\":222,\"tradeCurr\":\"USD\",\"useTo\":\"03\",\"ciqCode\":\"001\",\"destinationCountry\":\"CNY\",\"destCode\":\"110102\",\"districtCode\":\"4408W\"},{\"detailId\":\"12252\",\"classMark\":\"\",\"codeTS\":\"8538900000\",\"declPrice\":94.47,\"declTotal\":188.94,\"dutyMode\":\"1\",\"exgNo\":\"\",\"exgVersion\":\"\",\"firstUnit\":\"035\",\"firstQty\":0,\"gunit\":\"007\",\"gmodel\":\"用于PLC可编程控制器|琥博|6ES7331|无其他2\",\"gname\":\"PLC可编程控制器零件/输入模块\",\"gno\":\"2\",\"gqty\":2,\"originCountry\":\"US\",\"secondQty\":222,\"tradeCurr\":\"USD\",\"useTo\":\"03\",\"ciqCode\":\"\",\"destinationCountry\":\"CHN\",\"destCode\":\"\",\"districtCode\":\"4408W\"},{\"detailId\":\"12601\",\"classMark\":\"\",\"codeTS\":\"8538900001\",\"declPrice\":94.47,\"declTotal\":188.94,\"dutyMode\":\"1\",\"exgNo\":\"\",\"exgVersion\":\"\",\"firstUnit\":\"035\",\"firstQty\":0,\"gunit\":\"007\",\"gmodel\":\"用于PLC可编程控制器|琥博|6ES7331|无其他3\",\"gname\":\"PLC可编程控制器零件/输入模块\",\"gno\":\"2\",\"gqty\":2,\"originCountry\":\"US\",\"secondQty\":222,\"tradeCurr\":\"USD\",\"useTo\":\"03\",\"ciqCode\":\"\",\"destinationCountry\":\"CHN\",\"destCode\":\"\",\"districtCode\":\"4408W\"}]}";




        String timeStamp = "1623971478192";
        //String timeStamp = "1624263798669";
        System.out.println(new Date(Long.valueOf(timeStamp)));
        String token = SHA256Util.getSHA256String("IDE" + "iClearExport" + "b92131f03f19a348" + timeStamp);
        System.out.println(token);


        Header[] headers = HttpHeader.custom()
                .other("Content-Type", "application/json")
                .other("Appid", "IDE")
                .other("appKey", "iClearExport")
                .other("TimeStamp", timeStamp)
                .other("token", token)
                .build();

        HCB hcb = HCB.custom()
                .timeout(3000)
                .pool(100, 10)
                .sslpv(SSLs.SSLProtocolVersion.TLSv1_2)
                .ssl()
                .retry(3);

//        String url = "https://40.73.78.157:8780/customs/sendMawb";
        String url = "https://192.168.1.75:8780/customs/sendMawb";
        HttpConfig config = HttpConfig.custom()
                .headers(headers)
                .url(url)
                .encoding("utf-8")
                .client(hcb.build())
//                .json(new Gson().toJson(createMawb()));
                .json(masbJson);
        System.out.println(HttpClientUtil.post(config));
    }


    public static Mawb createMawb() {
        MawbDetail d1 = new MawbDetail();
        d1.setDetailId("202105210784-1");
        d1.setClassMark("");
        d1.setCodeTS("69125472");
        d1.setDeclPrice(BigDecimal.valueOf(111.123));
        d1.setDeclTotal(BigDecimal.valueOf(788));
        d1.setDutyMode("1");
        d1.setExgNo("");
        d1.setExgVersion("");
        d1.setFirstUnit("035");
        d1.setFirstQty(11);
        d1.setGunit("007");
        d1.setGmodel("商品规格、型号");
        d1.setGname("餐桌");
        d1.setGno("1");
        d1.setGqty(BigDecimal.valueOf(1.88));
        d1.setOriginCountry("US");
        d1.setSecondUnit("007");
        d1.setSecondQty(2);
        d1.setTradeCurr("USD");
        d1.setUseTo("");
        d1.setWorkUsd(null);
        d1.setDestinationCountry("CN");
        d1.setCiqCode("");
        d1.setDeclGoodsEname("");
        d1.setDestCode("");
        d1.setDistrictCode("4408W");


        MawbDetail d2 = new MawbDetail();
        d2.setDetailId("202105210784-2");
        d2.setClassMark("");
        d2.setCodeTS("69125472");
        d2.setDeclPrice(BigDecimal.valueOf(45.72));
        d2.setDeclTotal(BigDecimal.valueOf(33));
        d2.setDutyMode("1");
        d2.setExgNo("");
        d2.setExgVersion("");
        d2.setFirstUnit("035");
        d2.setFirstQty(11);
        d2.setGunit("007");
        d2.setGmodel("商品规格、型号");
        d2.setGname("餐桌");
        d2.setGno("2");
        d2.setGqty(BigDecimal.valueOf(22.88));
        d2.setOriginCountry("US");
        d2.setSecondUnit("007");
        d2.setSecondQty(3);
        d2.setTradeCurr("USD");
        d2.setUseTo("");
        d2.setWorkUsd(null);
        d2.setDestinationCountry("CN");
        d2.setCiqCode("");
        d2.setDeclGoodsEname("");
        d2.setDestCode("");
        d2.setDistrictCode("4408W");



        List<MawbDetail> mawbDetailList = new ArrayList<MawbDetail>();
        mawbDetailList.add(d1);
        mawbDetailList.add(d2);




        Mawb mawb = new Mawb();
        mawb.setIeFlag("E");
        mawb.setType("EX");
        mawb.setAgentCode("1111980005");
        mawb.setAgentName("联邦快递(中国)有限公司");
        mawb.setBillNo("202105210784");
        mawb.setContrNo("NO.565733");
        mawb.setCustomMaster("0101");
        mawb.setCutMode("101");
        mawb.setDeclTrnRel("0");
        mawb.setDistinatePort("ASM000");
        mawb.setEdiId("001");
        mawb.setEntryId("25512456");
        mawb.setFeeCurr("USD");
        mawb.setFeeMark("3");
        mawb.setFeeRate(BigDecimal.valueOf(100.58));
        mawb.setGrossWet(500);
        mawb.setIePort("0101");
        mawb.setInputerName("");
        mawb.setInsurCurr("MOP");
        mawb.setInsurMark("3");
        mawb.setInsurRate(BigDecimal.valueOf(23.44));
        mawb.setManualNo("备案号");
        mawb.setNetWt(BigDecimal.valueOf(80));
        mawb.setOtherCurr("USD");
        mawb.setOtherRate(BigDecimal.valueOf(10));
        mawb.setOtherMark("");
        mawb.setOwnerCode("Z321654987");
        mawb.setOwnerName("上海保险");
        mawb.setPackNo(1);
        mawb.setPreEntryId("");
        mawb.setTradeCountry("US");
        mawb.setTradeMode("110");
        mawb.setTradeCode("Z321654987");
        mawb.setTrafMode("1");
        mawb.setTradeName("上海铢怡国际货物运输代理有限公司");
        mawb.setTransMode("3");
        mawb.setWrapType("22");
        mawb.setTradeCodeScc("A74125896321456987");
        mawb.setOwnerCodeScc("A74125896321456987");
        mawb.setTradeAreaCode("US");
        mawb.setMarkNo("N/M");
        mawb.setEntyPortCode("310302");
        mawb.setGoodsPlace("");
        mawb.setDeclareName("张安");
        mawb.setOverseasConsignorCode("Z785421");
        mawb.setOverseasConsigneeCode("Z785421");
        mawb.setOverseasConsigneeEname("出口时必填收件人公司名(原)");
        mawb.setMawbDetailList(mawbDetailList);

        return mawb;
    }


}