Преглед изворни кода

添加泰康 已完成的保单查询 测试orderCompleteAgent多条件响应速度,和一个条件一样

wlq пре 1 година
родитељ
комит
eee0f211aa

+ 3 - 1
tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/component/RequestComponent.java

@@ -46,7 +46,9 @@ public class RequestComponent {
         Consumer<HttpHeaders> consumer = httpHeaders -> {
             httpHeaders.add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36");
 
-            httpHeaders.addAll(headers);
+            if (headers != null) {
+                httpHeaders.addAll(headers);
+            }
         };
 
         return consumer;

+ 6 - 1
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/service/TKHttpAPIService.java

@@ -1003,9 +1003,14 @@ public class TKHttpAPIService {
         param.setChannelCode("OffWeb");
         param.setFullProposalNo(proposalNo);
         //param.setFromId();
-        //param.setTplatformId();
+        param.setTplatformId("feda77e829d4dedbbd8b4e236bacfac5");
         param.setPageNo(1);
         param.setPageSizePerPage(1);
+        param.setLicenseNo("晋KR3968");
+        param.setEngineNo("1705019428");
+        param.setFrameNo("LGWEE4A43HH265547");
+        param.setFindStartDate("2025-03-20");
+        param.setFindStartDate("2025-03-21");
 
         OrderCompleteAgentResult.Response response = client.request(HttpURL.orderCompleteAgent, param, null, OrderCompleteAgentResult.Response.class);
 

Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
tenant/insurance/quotation-taikang/src/test/java/com/jzg/quotation/taikang/AESDecryptorTest.java


+ 69 - 4
tenant/insurance/quotation-taikang/src/test/java/com/jzg/quotation/taikang/client/TKHttpAPIServiceTest1.java → tenant/insurance/quotation-taikang/src/test/java/com/jzg/quotation/taikang/service/TKHttpAPIServiceTest1.java

@@ -1,17 +1,28 @@
-package com.jzg.quotation.taikang.client;
+package com.jzg.quotation.taikang.service;
 
 
 import com.alibaba.fastjson2.JSON;
 import com.jzg.quotation.commons.component.RequestComponent;
-import com.jzg.quotation.commons.config.WebClientConfig;
+import com.jzg.quotation.taikang.client.HttpClient;
 import com.jzg.quotation.taikang.model.api.*;
 import com.jzg.quotation.taikang.model.entity.*;
-import com.jzg.quotation.taikang.service.TKHttpAPIService;
+import io.netty.channel.ChannelOption;
+import io.netty.handler.timeout.ReadTimeoutHandler;
+import io.netty.handler.timeout.WriteTimeoutHandler;
 import net.sf.cglib.beans.BeanCopier;
 import org.junit.jupiter.api.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.MediaType;
+import org.springframework.http.client.reactive.ReactorClientHttpConnector;
+import org.springframework.web.reactive.function.client.ExchangeFilterFunction;
 import org.springframework.web.reactive.function.client.WebClient;
+import reactor.core.publisher.Mono;
+import reactor.netty.resources.ConnectionProvider;
 
 import java.math.BigDecimal;
+import java.time.Duration;
 import java.util.Arrays;
 import java.util.LinkedList;
 import java.util.List;
@@ -21,6 +32,8 @@ import static org.junit.jupiter.api.Assertions.*;
 
 @TestMethodOrder(MethodOrderer.OrderAnnotation.class)
 public class TKHttpAPIServiceTest1 {
+    private static final Logger logger = LoggerFactory.getLogger(TKHttpAPIServiceTest1.class);
+
     private static TKHttpAPIService httpService;
 
     private static String orderID;
@@ -35,7 +48,42 @@ public class TKHttpAPIServiceTest1 {
 
     @BeforeAll
     public static void before() {
-        WebClient webClient = new WebClientConfig().clientBuilder();
+        // 配置HTTP连接池
+        ConnectionProvider connectionProvider = ConnectionProvider
+                .builder("http")
+                .maxConnections(500)
+                .maxIdleTime(Duration.ofSeconds(30))
+                .build();
+
+        // 配置HTTP客户端
+        reactor.netty.http.client.HttpClient httpClient = reactor.netty.http.client.HttpClient
+                .create(connectionProvider)
+                .option(ChannelOption.CONNECT_TIMEOUT_MILLIS, 5000)
+                .responseTimeout(Duration.ofSeconds(50))
+                .doOnConnected(conn ->
+                        conn
+                                .addHandlerLast(new ReadTimeoutHandler(50))
+                                .addHandlerLast(new WriteTimeoutHandler(50)));
+        // 构建WebClient实例
+        WebClient webClient = WebClient
+                .builder()
+                .clientConnector(new ReactorClientHttpConnector(httpClient))
+                .defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE)
+                .defaultHeader(HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE)
+                .filter(ExchangeFilterFunction.ofRequestProcessor(
+                        clientRequest -> {
+                            // 打印请求头信息
+                            clientRequest
+                                    .headers()
+                                    .forEach((key, values) -> {
+                                        logger.info("请求头: {}: {}", key, values);
+                                    });
+                            return Mono.just(clientRequest);
+                        }
+                ))
+                .codecs(item->item.defaultCodecs().maxInMemorySize(10 * 1024 * 1024))
+                .build();
+
 
         RequestComponent requestComponent = new RequestComponent(webClient);
 
@@ -1165,4 +1213,21 @@ public class TKHttpAPIServiceTest1 {
         System.out.println();
         System.out.println(JSON.toJSONString(result));
     }
+
+
+    @Test
+    @Order(22)
+    public void orderCompleteAgent() {
+        String no = "00671070808142500000005233";
+
+        long begin = System.currentTimeMillis();
+
+        OrderCompleteAgentResult orderCompleteAgentResult = httpService.orderCompleteAgent(no);
+
+        long end = System.currentTimeMillis();
+
+        System.out.println("消耗时间:" + (end - begin));
+
+        System.out.println(JSON.toJSONString(orderCompleteAgentResult));
+    }
 }

Неке датотеке нису приказане због велике количине промена