package com.jay.monitor.data.client;

import com.alibaba.fastjson.JSON;
import com.jay.monitor.data.client.config.ClientMonitorAutoConfiguration;
import com.jay.monitor.data.core.model.serializable.MQDataDTO;
import com.jay.monitor.data.core.model.serializable.URLDataDTO;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.Date;

/**
 * @Module TODO
 * @Description TODO
 * @Author liukaixiong
 * @Date 2020/10/23 19:51
 */
@RunWith(SpringRunner.class)
@SpringBootTest(classes = {ClientMonitorAutoConfiguration.class})
//@EnableMonitorData
public class MonitorSendProducerTest {

    @Test
    public void sendMQMsg() throws Exception {
        // MQ消息1
        String json = "{\"applicationName\":\"dts-server\",\"createDate\":1605852479080,\"dataId\":\"223\",\"extMap\":{},\"groupKeyName\":\"UPDATE\",\"groupName\":\"t_dm_organize_house_rlat\",\"invokeType\":\"producer\",\"ip\":\"192.168.4.244\",\"jsonContent\":\"{\\\"databaseName\\\":\\\"marketing_db\\\",\\\"sourceTimestamp\\\":1605852244,\\\"fieldDataMap\\\":{\\\"open_reporting_protection_period\\\":{\\\"field\\\":\\\"open_reporting_protection_period\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\"},\\\"inherit_logic\\\":{\\\"field\\\":\\\"inherit_logic\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\"},\\\"remark\\\":{\\\"field\\\":\\\"remark\\\",\\\"dataType\\\":\\\"java.lang.String\\\"},\\\"organize_id\\\":{\\\"field\\\":\\\"organize_id\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\",\\\"oldValue\\\":\\\"223\\\",\\\"value\\\":\\\"223\\\"},\\\"reporting_protection_period\\\":{\\\"field\\\":\\\"reporting_protection_period\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\"},\\\"twice_report_overdue_days\\\":{\\\"field\\\":\\\"twice_report_overdue_days\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\"},\\\"intercept_protection_period\\\":{\\\"field\\\":\\\"intercept_protection_period\\\",\\\"dataType\\\":\\\"java.lang.Double\\\"},\\\"can_report\\\":{\\\"field\\\":\\\"can_report\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\",\\\"oldValue\\\":\\\"0\\\",\\\"value\\\":\\\"0\\\"},\\\"twice_report_condition\\\":{\\\"field\\\":\\\"twice_report_condition\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\"},\\\"can_verification\\\":{\\\"field\\\":\\\"can_verification\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\",\\\"oldValue\\\":\\\"0\\\",\\\"value\\\":\\\"0\\\"},\\\"open_follow_commission\\\":{\\\"field\\\":\\\"open_follow_commission\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\"},\\\"id\\\":{\\\"field\\\":\\\"id\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\",\\\"oldValue\\\":\\\"223\\\",\\\"value\\\":\\\"223\\\"},\\\"manual_record_type\\\":{\\\"field\\\":\\\"manual_record_type\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\"},\\\"open_toker_commission\\\":{\\\"field\\\":\\\"open_toker_commission\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\"},\\\"house_id\\\":{\\\"field\\\":\\\"house_id\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\",\\\"oldValue\\\":\\\"10110\\\",\\\"value\\\":\\\"10110\\\"},\\\"creator\\\":{\\\"field\\\":\\\"creator\\\",\\\"dataType\\\":\\\"java.lang.String\\\",\\\"oldValue\\\":\\\"小程序\\\",\\\"value\\\":\\\"小程序\\\"},\\\"open_external_api\\\":{\\\"field\\\":\\\"open_external_api\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\"},\\\"toker_commission\\\":{\\\"field\\\":\\\"toker_commission\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\"},\\\"created\\\":{\\\"field\\\":\\\"created\\\",\\\"dataType\\\":\\\"java.util.Date\\\",\\\"oldValue\\\":\\\"2020-04-01 18:09:19\\\",\\\"value\\\":\\\"2020-04-01 18:09:19\\\"},\\\"safe_im\\\":{\\\"field\\\":\\\"safe_im\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\"},\\\"open_follow_protection_period\\\":{\\\"field\\\":\\\"open_follow_protection_period\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\"},\\\"open_twice_report\\\":{\\\"field\\\":\\\"open_twice_report\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\"},\\\"deal_protection_period\\\":{\\\"field\\\":\\\"deal_protection_period\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\"},\\\"follow_service\\\":{\\\"field\\\":\\\"follow_service\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\",\\\"oldValue\\\":\\\"0\\\",\\\"value\\\":\\\"0\\\"},\\\"toker_service\\\":{\\\"field\\\":\\\"toker_service\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\",\\\"oldValue\\\":\\\"1\\\",\\\"value\\\":\\\"1\\\"},\\\"open_intercept_protection_period\\\":{\\\"field\\\":\\\"open_intercept_protection_period\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\"},\\\"auto_record\\\":{\\\"field\\\":\\\"auto_record\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\"},\\\"related_person_switch\\\":{\\\"field\\\":\\\"related_person_switch\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\"},\\\"fission\\\":{\\\"field\\\":\\\"fission\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\"},\\\"manual_record\\\":{\\\"field\\\":\\\"manual_record\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\"},\\\"open_authorize\\\":{\\\"field\\\":\\\"open_authorize\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\"},\\\"updator\\\":{\\\"field\\\":\\\"updator\\\",\\\"dataType\\\":\\\"java.lang.String\\\",\\\"oldValue\\\":\\\"qcnjt1\\\",\\\"value\\\":\\\"qcnjt1\\\"},\\\"follow_protection_period\\\":{\\\"field\\\":\\\"follow_protection_period\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\"},\\\"follow_commission\\\":{\\\"field\\\":\\\"follow_commission\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\"},\\\"max_record\\\":{\\\"field\\\":\\\"max_record\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\"},\\\"updated\\\":{\\\"field\\\":\\\"updated\\\",\\\"dataType\\\":\\\"java.util.Date\\\",\\\"oldValue\\\":\\\"2020-11-20 14:02:03\\\",\\\"value\\\":\\\"2020-11-20 14:04:04\\\"},\\\"open_deal_protection_period\\\":{\\\"field\\\":\\\"open_deal_protection_period\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\"},\\\"status\\\":{\\\"field\\\":\\\"status\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\",\\\"oldValue\\\":\\\"1\\\",\\\"value\\\":\\\"1\\\"}},\\\"_catRootMessageId\\\":\\\"dts-server-c0a804f4-446070-3369\\\",\\\"changeFieldList\\\":[\\\"updated\\\"],\\\"id\\\":\\\"223\\\",\\\"_catParentMessageId\\\":\\\"dts-server-c0a804f4-446070-3369\\\",\\\"_catChildMessageId\\\":\\\"MQ-CONSUMER-c0a804f4-446070-3368\\\",\\\"operation\\\":\\\"UPDATE\\\",\\\"tableName\\\":\\\"t_dm_organize_house_rlat\\\",\\\"application.name\\\":\\\"dts-server\\\"}\",\"logId\":\"dts-server-c0a804f4-446070-3362\",\"mqType\":\"kafka\",\"msgId\":\"50065\",\"parentLogId\":\"dts-server-c0a804f4-446070-3369\",\"partitionName\":\"1\",\"rootLogId\":\"dts-server-c0a804f4-446070-3369\",\"sourceTime\":1605852244000,\"status\":1,\"topic\":\"test-mysql-dts\",\"type\":\"MQ\"}";
        MQDataDTO dataDTO = JSON.parseObject(json, MQDataDTO.class);
//        URLDataDTO dataDTO = new URLDataDTO();
//        dataDTO.setApplicationName("abc");
//        dataDTO.setCreateDate(new Date());
//        dataDTO.setIp("1:1:1:");
//        dataDTO.setGroupName("asdfasfas");
//        dataDTO.setDataId("123123");
        MonitorSendProducer.sendMsg(dataDTO);
        System.in.read();
    }

    @Test
    public void sendURLMsg() throws Exception {

//        String json = "{\"applicationName\":\"dts-server\",\"createDate\":1605599008622,\"dataId\":\"124\",\"extMap\":{},\"groupKeyName\":\"UPDATE\",\"groupName\":\"integrals_user_score\",\"invokeType\":\"producer\",\"ip\":\"192.168.4.244\",\"jsonContent\":\"{\\\"databaseName\\\":\\\"marketing_db\\\",\\\"sourceTimestamp\\\":1605584228,\\\"fieldDataMap\\\":{\\\"house_id\\\":{\\\"field\\\":\\\"house_id\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\"},\\\"creator\\\":{\\\"field\\\":\\\"creator\\\",\\\"dataType\\\":\\\"java.lang.String\\\"},\\\"created\\\":{\\\"field\\\":\\\"created\\\",\\\"dataType\\\":\\\"java.util.Date\\\",\\\"oldValue\\\":\\\"2020-07-21 14:26:47\\\",\\\"value\\\":\\\"2020-07-21 14:26:47\\\"},\\\"score_count\\\":{\\\"field\\\":\\\"score_count\\\",\\\"dataType\\\":\\\"java.lang.Double\\\",\\\"oldValue\\\":\\\"1304.0\\\",\\\"value\\\":\\\"1314.0\\\"},\\\"score_reduce\\\":{\\\"field\\\":\\\"score_reduce\\\",\\\"dataType\\\":\\\"java.lang.Double\\\",\\\"oldValue\\\":\\\"0.0\\\",\\\"value\\\":\\\"0.0\\\"},\\\"brand_id\\\":{\\\"field\\\":\\\"brand_id\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\",\\\"oldValue\\\":\\\"1\\\",\\\"value\\\":\\\"1\\\"},\\\"user_type\\\":{\\\"field\\\":\\\"user_type\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\"},\\\"user_id\\\":{\\\"field\\\":\\\"user_id\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\",\\\"oldValue\\\":\\\"1883\\\",\\\"value\\\":\\\"1883\\\"},\\\"updator\\\":{\\\"field\\\":\\\"updator\\\",\\\"dataType\\\":\\\"java.lang.String\\\"},\\\"id\\\":{\\\"field\\\":\\\"id\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\",\\\"oldValue\\\":\\\"124\\\",\\\"value\\\":\\\"124\\\"},\\\"updated\\\":{\\\"field\\\":\\\"updated\\\",\\\"dataType\\\":\\\"java.util.Date\\\"},\\\"score_add\\\":{\\\"field\\\":\\\"score_add\\\",\\\"dataType\\\":\\\"java.lang.Double\\\",\\\"oldValue\\\":\\\"1304.0\\\",\\\"value\\\":\\\"1314.0\\\"},\\\"status\\\":{\\\"field\\\":\\\"status\\\",\\\"dataType\\\":\\\"java.lang.Integer\\\",\\\"oldValue\\\":\\\"1\\\",\\\"value\\\":\\\"1\\\"}},\\\"_catRootMessageId\\\":\\\"dts-server-c0a804f4-445999-1245\\\",\\\"changeFieldList\\\":[\\\"score_count\\\",\\\"score_add\\\"],\\\"id\\\":\\\"124\\\",\\\"_catParentMessageId\\\":\\\"dts-server-c0a804f4-445999-1245\\\",\\\"_catChildMessageId\\\":\\\"MQ-CONSUMER-c0a804f4-445999-1235\\\",\\\"operation\\\":\\\"UPDATE\\\",\\\"tableName\\\":\\\"integrals_user_score\\\",\\\"application.name\\\":\\\"dts-server\\\"}\",\"logId\":\"dts-server-c0a804f4-445999-1243\",\"mqType\":\"kafka\",\"msgId\":\"3647\",\"parentLogId\":\"dts-server-c0a804f4-445999-1245\",\"partitionName\":\"10\",\"rootLogId\":\"dts-server-c0a804f4-445999-1245\",\"sourceTime\":1605584228000,\"status\":1,\"topic\":\"test-mysql-dts\",\"type\":\"MQ\"}";

//        URLDataDTO dataDTO = JSON.parseObject(json, URLDataDTO.class);
//        URLDataDTO dataDTO = new URLDataDTO();
//        dataDTO.setApplicationName("abc");
//        dataDTO.setCreateDate(new Date());
//        dataDTO.setIp("1:1:1:");
//        dataDTO.setGroupName("asdfasfas");
//        dataDTO.setDataId("123123");
        URLDataDTO dataDTO = new URLDataDTO();
        dataDTO.setUrl("aaaa");
        dataDTO.setClientIp("asdfasd");
        dataDTO.setApplicationName("TEST-A");
        dataDTO.setIp("127.0.0.1");
        dataDTO.setLogId("asdfasdfsdfasdf");
        dataDTO.setRequestTime(100L);
        dataDTO.setCreateDate(new Date());
        MonitorSendProducer.sendMsg(dataDTO);
        System.in.read();
    }

}