From 07015b523e547c02c389306cf01c8dd0e0fa8332 Mon Sep 17 00:00:00 2001 From: lnk Date: Fri, 28 Mar 2025 13:43:55 +0800 Subject: [PATCH] use list in test device --- cfg_parse/SimpleProducer.cpp | 4 +-- cfg_parse/cfg_parser.cpp | 56 ++++++++++++++++++++++++++++++++---- 2 files changed, 52 insertions(+), 8 deletions(-) diff --git a/cfg_parse/SimpleProducer.cpp b/cfg_parse/SimpleProducer.cpp index 3b13914..1648f45 100644 --- a/cfg_parse/SimpleProducer.cpp +++ b/cfg_parse/SimpleProducer.cpp @@ -859,7 +859,7 @@ void rocketmq_test_300(int mpnum,int front_index) { data.mp_id = QString::number(data.monitor_id); - std::string modified_time = to_string(current_time_ms); // 时间转换为整数类型(Unix时间戳) + std::string modified_time = my_to_string(current_time_ms); // 时间转换为整数类型(Unix时间戳) // 替换消息中的 Monitor 和 TIME 字段(只匹配字段名,不匹配具体数值) std::string modified_strText = base_strText; @@ -871,7 +871,7 @@ void rocketmq_test_300(int mpnum,int front_index) { size_t quote_pos = modified_strText.find("\"", colon_pos); size_t end_quote_pos = modified_strText.find("\"", quote_pos + 1); if (colon_pos != std::string::npos && quote_pos != std::string::npos && end_quote_pos != std::string::npos) { - modified_strText.replace(quote_pos + 1, end_quote_pos - quote_pos - 1, to_string(data.monitor_id)); + modified_strText.replace(quote_pos + 1, end_quote_pos - quote_pos - 1, my_to_string(data.monitor_id)); } } diff --git a/cfg_parse/cfg_parser.cpp b/cfg_parse/cfg_parser.cpp index 3e6abb8..3f9e54a 100644 --- a/cfg_parse/cfg_parser.cpp +++ b/cfg_parse/cfg_parser.cpp @@ -325,9 +325,11 @@ std::string G_CONNECT_KEY = "";//consumer key int G_TEST_FLAG = 0; int G_TEST_NUM = 0; - int TEST_PORT = 11000;//ڵǰ̵¼shellĶ˿ +std::string G_TEST_LIST = "";//õķʵݵնб +std::vector TESTARRAY;//б + //ն˺ͼ״̬ɸѡ std::string TERMINAL_STATUS = ""; std::string MONITOR_STATUS = ""; @@ -661,10 +663,36 @@ void update_odbc(char* newServicename, char* newPort) { rename(tempFilenameBuffer, filename); } +//lnk20250328Ӳбõĺ +void parseTestList(const std::string& input) { + TESTARRAY.clear(); // վ + + size_t start = 0; + size_t end = 0; + + while ((end = input.find(',', start)) != std::string::npos) { + std::string id = input.substr(start, end - start); + if (!id.empty()) { + TESTARRAY.push_back(id); + std::cout << "use realdata device id:" << id << std::endl; + } + start = end + 1; + } + + // һ IDûжŽβ + if (start < input.length()) { + std::string lastId = input.substr(start); + if (!lastId.empty()) { + TESTARRAY.push_back(lastId); + std::cout << "use realdata device id:" << lastId << std::endl; + } + } +} + //CZY 2023-09-06 config void init_config() { QByteArray ba; - QString MyKafkaIniFilename = QString("../etc/") + QString("mykafka.ini"); //+QString::fromAscii(subdir) + QString MyKafkaIniFilename = QString("../etc/config/") + QString("mykafka.ini"); //+QString::fromAscii(subdir) QSettings settings(MyKafkaIniFilename, QSettings::IniFormat); ACCOUNT_UPDATE_INTERVAL = settings.value("AccountUpdate/Interval", 0).toInt(); @@ -929,6 +957,11 @@ void init_config() { //MQ G_TEST_FLAG = settings.value("RocketMq/Testflag", 0).toInt(); G_TEST_NUM = settings.value("RocketMq/Testnum", 0).toInt(); + + ba = settings.value("RocketMq/TestList", 0).toString().toLatin1(); + G_TEST_LIST = strdup(ba.data()); + parseTestList(G_TEST_LIST);//õնб + //shell TEST_PORT = settings.value("RocketMq/TestPort", 0).toInt(); @@ -15200,11 +15233,22 @@ void clearIed(ied_t *ied) { } /*װCɵǫ̃˸º *///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //Ժ -std::string to_string(long long value) { +std::string my_to_string(long long value) { std::stringstream ss; ss << value; return ss.str(); } + +//lnk20250328ƥ䵽ն +bool shouldSkipTerminal(const char* terminal_id) { + for (size_t i = 0; i < TESTARRAY.size(); ++i) { + if (TESTARRAY[i] == terminal_id) { + return true; + } + } + return false; +} + void rocketmq_test_300(int mpnum,int front_index) { Ckafka_data_t data; data.strTopic = QString::fromStdString(G_ROCKETMQ_TOPIC); @@ -15243,8 +15287,8 @@ void rocketmq_test_300(int mpnum,int front_index) { ied_usr = (ied_usr_t*)ied->usr_ext; //ն - if(strcmp(ied_usr->terminal_id, "8499c5ae999d392b4e73112ca0d2d778") == 0){ - std::cout << "8499c5ae999d392b4e73112ca0d2d778 use true message " << std::endl; + if (shouldSkipTerminal(ied_usr->terminal_id)) { + std::cout << ied_usr->terminal_id << " use true message " << std::endl; continue; } @@ -15258,7 +15302,7 @@ void rocketmq_test_300(int mpnum,int front_index) { data.monitor_id = i + j; - std::string modified_time = to_string(current_time_ms); // ʱתΪͣUnixʱ + std::string modified_time = my_to_string(current_time_ms); // ʱתΪͣUnixʱ // 滻Ϣе Monitor TIME ֶΣֻƥֶƥֵ std::string modified_strText = base_strText;