Răsfoiți Sursa

feat: 添加局方停机原因查询接口测试

weijianghai 2 ani în urmă
părinte
comite
502324add1

+ 34 - 0
src/main/java/com/nokia/domainb/capability/QryDownTimeReason.java

@@ -0,0 +1,34 @@
+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_chinaUnicom_microservice_trades_qrydowntimereason
+ */
+public class QryDownTimeReason extends AbstractQuery {
+    private static final String url = "http://10.245.34.209:8000/api/chinaUnicom/microservice/trades/qrydowntimereason/v1";
+    private static final String urlTest = "http://10.124.150.230:8000/api/chinaUnicom/microservice/trades/qrydowntimereason/v1";
+
+    public COMPConnectionContext query(String phoneNumber, String provinceCode, boolean test) {
+        String realAppSecret = test ? appSecretTest : appSecret;
+        String realUrl = test ? urlTest : url;
+        COMPConnection compConnection = new COMPJsonConnection(appId, realAppSecret);
+
+        // REQ
+        Map<String, Object> req = new HashMap<>();
+        Map<String, Object> qrydowntimereasonReq = new HashMap<>();
+        req.put("QRYDOWNTIMEREASON_REQ", qrydowntimereasonReq);
+        Map<String, Object> reqMap = new HashMap<>();
+        qrydowntimereasonReq.put("REQ", reqMap);
+        reqMap.put("SERIAL_NUMBER", phoneNumber);
+        reqMap.put("PROVINCE_CODE", provinceCode);
+        return compConnection.excute(Const.HttpMethodType.POST, realUrl, req, false);
+    }
+}

+ 64 - 0
src/test/java/com/nokia/domainb/capability/ApiTest.java

@@ -0,0 +1,64 @@
+package com.nokia.domainb.capability;
+
+import de.siegmar.fastcsv.reader.CsvReader;
+import de.siegmar.fastcsv.reader.CsvRow;
+import de.siegmar.fastcsv.writer.CsvWriter;
+import lombok.extern.slf4j.Slf4j;
+import org.junit.jupiter.api.Test;
+import org.springframework.web.client.RestTemplate;
+
+import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.nio.charset.Charset;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+
+@Slf4j
+class ApiTest {
+    public static final String TEST_DIR = "test/";
+
+    @Test
+    void test() {
+    }
+
+    /**
+     * 投诉系统注册的客户手机号对应的手机终端类型
+     */
+    @Test
+    void testNr() {
+        String url = "http://192.168.70.130:12010/nr.php?id=";
+        // 数据文件路径
+        String dataPath = TEST_DIR + "data.csv";
+        // 结果保存的路径
+        String resultPath = TEST_DIR + "result/nr/";
+        // 创建文件夹
+        try {
+            Files.createDirectories(Paths.get(resultPath));
+        } catch (IOException e) {
+            log.error("创建文件夹失败: {}", e.getMessage(), e);
+            return;
+        }
+        resultPath = resultPath + "result.csv";
+        try (CsvReader reader = CsvReader.builder().build(Paths.get(dataPath), Charset.forName("gbk"));
+             OutputStreamWriter osw = new OutputStreamWriter(Files.newOutputStream(Paths.get(resultPath)),
+                     "gbk");
+             CsvWriter writer = CsvWriter.builder().build(osw)
+        ) {
+            for (CsvRow row : reader) {
+                String phone = row.getField(3);
+                System.out.println(row.getOriginalLineNumber() + ": " + phone);
+                String r;
+                try {
+                    RestTemplate template = new RestTemplate();
+                    r = template.getForObject(url + phone, String.class);
+                } catch (Exception e) {
+                    log.error(e.getMessage(), e);
+                    r = e.getMessage();
+                }
+                writer.writeRow(phone, r);
+            }
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+        }
+    }
+}

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

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