package com.product.data.sync.test;

import com.alibaba.fastjson.JSONObject;
import com.product.common.utils.HttpTest;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author: ZhouJie
 * @date: 2021/8/12 9:29
 * @description:
 */

public class SyncConfigTest extends HttpTest {
    private static String URL_STRING[] = {
            "jdbc:informix-sqli://localhost:9092/test:informixserver=demores",
//            "jdbc:ids://9.123.147.100:10000/sysmaster"
    };
    private static String USER = "informix";
    private static String PASSWORD = "123456";

    public static void main(String[] args) {
        try {
            connectInForMix();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
//        saveSync();
//        delSync();
    }

    //淇濆瓨鏁版嵁搴撳悓姝ラ厤缃�
    public static void saveSync() {
        Map<String, Object> m = new HashMap<>();
        m.put("url/api", "/api/sync/save-syncconfig/v1");
        m.put("~table~", "product_sys_database_sync_config");
        //m.put("uuid", "5507c128-368b-4143-a4e1-7e81aeac349d");//浼爑uid鏄慨鏀� 涓嶄紶鏂板
        m.put("database_config_uuid", "test002-sdfqwe45w-4jhn4n-qweqwe");
        m.put("corn", "0/10 * * * * ?");

        List sub = new ArrayList();
        Map sub1 = new HashMap();
        sub1.put("created_by", "100");
        sub1.put("created_utc_datetime", "2021-08-13 09:00:09");
        sub1.put("updated_by", "100");
        sub1.put("updated_utc_datetime", "2021-08-13 09:00:09");
        sub1.put("org_level_uuid", "test801021test002");
        sub.add(sub1);
        m.put("product_sys_database_sync_config_sub", sub);
        System.out.println(new JSONObject(m).toJSONString());

        testPost(m);
    }

    //鍒犻櫎鏁版嵁搴撳悓姝ラ厤缃�
    public static void delSync() {
        Map<String, Object> m = new HashMap<>();
        m.put("url/api", "/api/sync/delete-syncconfig/v1");
        m.put("~table~", "product_sys_database_sync_config");
        m.put("uuid", "7b9be61c-c15e-4915-b1fd-d7f4ee9b9134,414315de-59c6-4d87-ae7e-b4ef30c20ca3");

    }

    public static void connectInForMix() throws ClassNotFoundException {
        Connection conn;
        Class.forName("com.informix.jdbc.IfxDriver");
//        Class.forName("com.ibm.db2.jcc.DB2Driver");
        try {
            System.out.println("Testing JDBC URL: " + URL_STRING[0]);
            conn = DriverManager.getConnection(URL_STRING[0], USER, PASSWORD);
            Integer num = 0;
            for (int j = 0; j < 50; j++) {
                StringBuffer insertSql = new StringBuffer();
                for (int i = 0; i < 1000; i++) {
                    insertSql.append(" INSERT INTO test_project(name,money,describe)VALUES");
                    insertSql.append("('name").append(i).append("',").append(i).append(",'").append("describe").append(i).append("');");
                }
                PreparedStatement ps = conn.prepareStatement(insertSql.toString());

                num = num + ps.executeUpdate();
            }
            System.out.println("鏂板鏁版嵁" + num + "鏉°€�");
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return;
    }
}