package com.nokia.domainb.capability;

import cn.chinaunicom.open.nlgxptconnection.COMPConnectionContext;
import com.nokia.domainb.util.Utils;
import de.siegmar.fastcsv.writer.CsvWriter;
import org.junit.jupiter.api.Test;

import java.io.IOException;
import java.io.OutputStreamWriter;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.time.LocalDateTime;
import java.util.Set;

public class PkgValueTest {
    @Test
    void testQuery() {
        PkgValue pkgValue = new PkgValue();
        Set<String> phones = Utils.readPhones();
//        String filePath = "result/查询用户套餐值样本.csv";
        String filePath = "result/查询用户套餐值.csv";
        try (OutputStreamWriter osw = new OutputStreamWriter(Files.newOutputStream(Paths.get(filePath)), "GBK");
             CsvWriter csv = CsvWriter.builder().build(osw);) {
            csv.writeRow("手机号", "时间", "调用时长", "结果");
            phones.forEach(t -> {
                String[] a = t.split(",");
                String phone = a[0];
                String provinceCode = a[1];
                String eparchyCode = a[2];
                LocalDateTime startTime = LocalDateTime.now();
                long startTimestamp = System.currentTimeMillis();
                COMPConnectionContext result = pkgValue.query(phone, provinceCode, eparchyCode, false);
                long endTimestamp = System.currentTimeMillis();
                long cost = endTimestamp - startTimestamp;
                csv.writeRow(phone, startTime.toString(), String.valueOf(cost), result.getResponseContext());
            });
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    @Test
    void test() {
        PkgValue pkgValue = new PkgValue();
        COMPConnectionContext result = pkgValue.query("18515104360", "11", "0010", false);
        System.out.println(result.getResponseContext());
    }
}
