Эх сурвалжийг харах

feat: 添加用户限速封顶信息查询测试

weijianghai 2 жил өмнө
parent
commit
9e56de0a20

+ 8 - 19
src/main/java/com/nokia/domainb/DomainBApplication.java

@@ -3,30 +3,19 @@ package com.nokia.domainb;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.context.annotation.Bean;
-import org.springframework.scheduling.concurrent.CustomizableThreadFactory;
+import org.springframework.core.env.Environment;
 
-import java.util.concurrent.ArrayBlockingQueue;
-import java.util.concurrent.ThreadPoolExecutor;
-import java.util.concurrent.TimeUnit;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
 
 @Slf4j
 @SpringBootApplication
 public class DomainBApplication {
 
-    public static void main(String[] args) {
-        SpringApplication.run(DomainBApplication.class, args);
-    }
-
-    /**
-     * 欠费接口整合线程池配置
-     */
-    @Bean
-    public ThreadPoolExecutor qryowefeeExecutor() {
-        ThreadPoolExecutor executor = new ThreadPoolExecutor(100, 200, 0L, TimeUnit.MILLISECONDS,
-                new ArrayBlockingQueue<>(10000), new CustomizableThreadFactory("qryowefee-"));
-        executor.prestartAllCoreThreads();
-        log.info("qryowefee poolSize: {}", executor.getPoolSize());
-        return executor;
+    public static void main(String[] args) throws UnknownHostException {
+        SpringApplication app = new SpringApplication(DomainBApplication.class);
+        Environment env = app.run(args).getEnvironment();
+        log.info("╭( ′• o •′ )╭☞ run on http://{}:{}", InetAddress.getLocalHost().getHostAddress(),
+                env.getProperty("server.port"));
     }
 }

+ 32 - 0
src/main/java/com/nokia/domainb/capability/UserSpeedLimitQuery.java

@@ -0,0 +1,32 @@
+package com.nokia.domainb.capability;
+
+import cn.chinaunicom.open.common.Const;
+import cn.chinaunicom.open.nlgxptconnection.COMPConnection;
+import cn.chinaunicom.open.nlgxptconnection.COMPConnectionContext;
+import cn.chinaunicom.open.nlgxptconnection.impl.COMPJsonConnection;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 用户限速封顶信息查询
+ * json_microservice_credits_userspeedlimitquery
+ */
+public class UserSpeedLimitQuery extends AbstractQuery {
+
+    // 测试环境url
+    // private static final String url = "http://10.124.150.230:8000/api/microservice/credits/userspeedlimitquery/v1";
+    // 生产环境url
+    private static final String url = "http://10.245.34.209:8000/api/microservice/credits/userspeedlimitquery/v1";
+
+    public COMPConnectionContext queryWithSdk(String phoneNumber, String provinceId) {
+        Map<String, Object> map = new HashMap<>();
+        Map<String, String> map2 = new HashMap<>();
+        map2.put("SERIAL_NUMBER", phoneNumber);
+        map2.put("PROVINCE_ID", provinceId);
+        map2.put("NET_TYPE_CODE", "50");
+        map.put("USER_SPEED_LIMITQUERY_REQ", map2);
+        COMPConnection compConnection = new COMPJsonConnection(appId, appSecret);
+        return compConnection.excute(Const.HttpMethodType.POST, url, map, false);
+    }
+}

+ 26 - 0
src/main/java/com/nokia/domainb/config/ThreadPoolConfig.java

@@ -0,0 +1,26 @@
+package com.nokia.domainb.config;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.concurrent.CustomizableThreadFactory;
+
+import java.util.concurrent.ArrayBlockingQueue;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
+
+@Slf4j
+@Configuration
+public class ThreadPoolConfig {
+    /**
+     * 欠费接口整合线程池配置
+     */
+    @Bean
+    public ThreadPoolExecutor qryowefeeExecutor() {
+        ThreadPoolExecutor executor = new ThreadPoolExecutor(100, 200, 0L, TimeUnit.MILLISECONDS,
+                new ArrayBlockingQueue<>(10000), new CustomizableThreadFactory("qryowefee-"));
+        executor.prestartAllCoreThreads();
+        log.info("qryowefee poolSize: {}", executor.getPoolSize());
+        return executor;
+    }
+}

+ 6 - 3
src/main/resources/logback-spring.xml

@@ -3,7 +3,8 @@
     <property name="PATH" value="./log"/>
     <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
         <encoder>
-            <Pattern>%d{HH:mm:ss.SSS} %highlight(%-5level) %yellow(%X{traceId}) %cyan(%logger:%line) %msg%n</Pattern>
+            <Pattern>%d{HH:mm:ss.SSS} %highlight(%-5level) %yellow(%X{traceId}) %magenta([%thread]) %cyan(%logger:%line) %msg%n</Pattern>
+            <charset>UTF-8</charset>
         </encoder>
     </appender>
     <appender name="TRACE_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
@@ -17,7 +18,8 @@
             <totalSizeCap>20GB</totalSizeCap>
         </rollingPolicy>
         <encoder>
-            <Pattern>%d %highlight(%-5level) %yellow(%X{traceId}) %cyan(%logger:%line) %msg%n</Pattern>
+            <Pattern>%d %highlight(%-5level) %yellow(%X{traceId}) %magenta([%thread]) %cyan(%logger:%line) %msg%n</Pattern>
+            <charset>UTF-8</charset>
         </encoder>
     </appender>
     <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
@@ -31,7 +33,8 @@
             <totalSizeCap>20GB</totalSizeCap>
         </rollingPolicy>
         <encoder>
-            <Pattern>%d %highlight(%-5level) %yellow(%X{traceId}) %cyan(%logger:%line) %msg%n</Pattern>
+            <Pattern>%d %highlight(%-5level) %yellow(%X{traceId}) %magenta([%thread]) %cyan(%logger:%line) %msg%n</Pattern>
+            <charset>UTF-8</charset>
         </encoder>
         <filter class="ch.qos.logback.classic.filter.LevelFilter">
             <level>ERROR</level>

+ 13 - 0
src/test/java/com/nokia/domainb/capability/UserSpeedLimitQueryTest.java

@@ -0,0 +1,13 @@
+package com.nokia.domainb.capability;
+
+import cn.chinaunicom.open.nlgxptconnection.COMPConnectionContext;
+import org.junit.jupiter.api.Test;
+
+class UserSpeedLimitQueryTest {
+    @Test
+    void testQuery() {
+        UserSpeedLimitQuery query = new UserSpeedLimitQuery();
+        COMPConnectionContext result = query.queryWithSdk("13032091552", "18");
+        System.out.println(result.getResponseContext());
+    }
+}

+ 32 - 10
src/test/java/com/nokia/domainb/capability/UsercomplaintQuerysTest.java

@@ -29,13 +29,13 @@ class UsercomplaintQuerysTest {
         String result1 = TEST_DIR + "无法发送测试结果.csv";
         String result2 = TEST_DIR + "无法接收测试结果.csv";
         try (CsvReader r1 = CsvReader.builder().build(Paths.get(d1), StandardCharsets.UTF_8);
-                CsvReader r2 = CsvReader.builder().build(Paths.get(d2), StandardCharsets.UTF_8);
-                OutputStreamWriter osw1 = new OutputStreamWriter(Files.newOutputStream(Paths.get(result1)),
+             CsvReader r2 = CsvReader.builder().build(Paths.get(d2), StandardCharsets.UTF_8);
+             OutputStreamWriter osw1 = new OutputStreamWriter(Files.newOutputStream(Paths.get(result1)),
                         StandardCharsets.UTF_8);
-                CsvWriter w1 = CsvWriter.builder().build(osw1);
-                OutputStreamWriter osw2 = new OutputStreamWriter(Files.newOutputStream(Paths.get(result2)),
+             CsvWriter w1 = CsvWriter.builder().build(osw1);
+             OutputStreamWriter osw2 = new OutputStreamWriter(Files.newOutputStream(Paths.get(result2)),
                         StandardCharsets.UTF_8);
-                CsvWriter w2 = CsvWriter.builder().build(osw2);) {
+             CsvWriter w2 = CsvWriter.builder().build(osw2);) {
             w1.writeRow("入参", "时间", "调用时长", "结果");
             for (CsvRow row : r1) {
                 if (row.getOriginalLineNumber() == 1) {
@@ -133,15 +133,18 @@ class UsercomplaintQuerysTest {
     void testQuery() throws Exception {
         // 统一使用,不需要修改
         String cKey = "qg4uY8nV7fPhvUXt";
+//        String cSrc = getTimeString() + "_" + "n1test004";
         String cSrc = getTimeString() + "_" + "test";
         String token = AESUtil.Encrypt(cSrc, cKey);
         // 单例测试时修改参数
-        String mobile = "15132136436";
-        String destAddr = "18631612746";
+        String mobile = "15690352051";
+        String destAddr = "";
         // 所有接收101 指定接收102 所有发送 103 指定发送104
         String flowNo = "103";
-        String beginTime = "20220927000000";
-        String endTime = "20220930235959";
+//        String flowNo = "103";
+        String beginTime = "20221015000000";
+        String endTime = "20221018000000";
+//        String complaintType = "2";
         String complaintType = "1";
         // 可以统一传空
         String isMobile = "";
@@ -151,8 +154,27 @@ class UsercomplaintQuerysTest {
         stopWatch.start();
         String result = usercomplaintQuerys.query(mobile, destAddr, complaintType, isMobile, flowNo, beginTime,
                 endTime, token, false);
+//        COMPConnectionContext result = usercomplaintQuerys.query(mobile, destAddr, complaintType, isMobile, flowNo,
+//                beginTime, endTime, token, true);
         stopWatch.stop();
-        log.info("{} | {} ms | {}", mobile, stopWatch.getTotalTimeMillis(), result);
+        Map<String, String> req = new HashMap<>();
+        req.put("mobile", mobile);
+        req.put("destAddr", destAddr);
+        req.put("complaintType", complaintType);
+        req.put("isMobile", isMobile);
+        req.put("flowNo", flowNo);
+        req.put("beginTime", beginTime);
+        req.put("endTime", endTime);
+        req.put("token", token);
+        Map<Object, Object> map = new HashMap<>();
+        map.put("req", req);
+        Object res = JSON.parse(result);
+//        Object res = JSON.parse(result.getResponseContext());
+        map.put("res", res);
+        log.info("入参:{}", JSON.toJSONString(req));
+        log.info("{} ms | 结果:{}", stopWatch.getTotalTimeMillis(), result);
+//        log.info("{} ms | 结果:{}", stopWatch.getTotalTimeMillis(), result.getResponseContext());
+        log.info("map: {}", JSON.toJSONString(map));
     }
 
     private String getTimeString(LocalDateTime time) {