fix rt data

This commit is contained in:
lnk
2025-02-18 17:10:22 +08:00
parent a110614220
commit 183685b017
3 changed files with 114 additions and 9 deletions

View File

@@ -15023,7 +15023,108 @@ void clearIed(ied_t *ied) {
}
/*<2A><>װC<D7B0>ɵ<EFBFBD><C9B5>õ<EFBFBD>̨<EFBFBD>˸<EFBFBD><CBB8>º<EFBFBD><C2BA><EFBFBD> */////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD>
std::string to_string(long long value) {
std::stringstream ss;
ss << value;
return ss.str();
}
void rocketmq_test_300(int mpnum,int front_index) {
Ckafka_data_t data;
data.strTopic = QString::fromStdString(G_ROCKETMQ_TOPIC);
data.mp_id = "0";
// <20><>ȡ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
std::ifstream file("long_string.txt"); // <20>ļ<EFBFBD><C4BC>д洢<D0B4><E6B4A2><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
std::stringstream buffer;
buffer << file.rdbuf();
std::string file_contents = buffer.str(); // <20><>ȡ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>
std::string base_strText = file_contents;
// <20><>ȡ<EFBFBD><C8A1>ǰʱ<C7B0><CAB1><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ʼʱ<CABC><CAB1>
std::time_t t = std::time(NULL);//<2F><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0>ϵͳʱ<CDB3><EFBFBD><E4A3A8> 1970 <20><> 1 <20><> 1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>Ϊ UNIX ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
std::tm* time_info = std::localtime(&t);//<2F><> std::time_t<5F><74><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>ǰ<EFBFBD><C7B0> UNIX ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ʱ<EFBFBD>䣨std::tm <20><EFBFBD><E1B9B9>
time_info->tm_sec = 0; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ
//time_info->tm_msec = 0; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7>ʹ<EFBFBD>ø߾<C3B8><DFBE><EFBFBD>ʱ<EFBFBD>
// <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
std::time_t base_time_t = std::mktime(time_info);//<2F><> std::tm <20><EFBFBD><E1B9B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䣩ת<E4A3A9><D7AA><EFBFBD><EFBFBD> std::time_t<5F><74>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
long long current_time_ms = static_cast<long long>(base_time_t) * 1000; // ÿ<><C3BF><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
// <20><EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
int total_messages = mpnum;
ied_t* ied;
ied_usr_t* ied_usr;
// ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 300 <20><><EFBFBD><EFBFBD>Ϣ
for (int i = 0; total_messages != 0 && i < g_node->n_clients; ++i) {
ied = (ied_t*)g_node->clients[i];
if(ied != NULL){
ied_usr = (ied_usr_t*)ied->usr_ext;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ն<EFBFBD>
if(strcmp(ied_usr->terminal_id, "123456") == 0){
continue;
}
for (int j = 0; j < 10 && ied_usr->LD_info[j].mp_id[0] != '\0'; j++){
// <20>޸<EFBFBD> Monitor ֵ
char monitor_id[256] = {};
strncpy(monitor_id, ied_usr->LD_info[j].mp_id, sizeof(monitor_id) - 1);
monitor_id[sizeof(monitor_id) - 1] = '\0';
data.mp_id = QString(monitor_id);
data.monitor_id = i + j;
std::string modified_time = to_string(current_time_ms); // ʱ<><CAB1>ת<EFBFBD><D7AA>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>Unixʱ<78><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// <20><EFBFBD><E6BBBB>Ϣ<EFBFBD>е<EFBFBD> Monitor <20><> TIME <20>ֶΣ<D6B6>ֻƥ<D6BB><C6A5><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>
std::string modified_strText = base_strText;
// <20>滻 Monitor <20>ֶ<EFBFBD>
size_t monitor_pos = modified_strText.find("\"Monitor\"");
if (monitor_pos != std::string::npos) {
size_t colon_pos = modified_strText.find(":", monitor_pos);
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, data.mp_id.toStdString());
}
}
// <20>滻 TIME <20>ֶ<EFBFBD>
size_t time_pos = modified_strText.find("\"TIME\"");
if (time_pos != std::string::npos) {
size_t colon_pos = modified_strText.find(":", time_pos);
size_t quote_pos = 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, modified_time);
}
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
data.strText = QString::fromStdString(modified_strText);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
my_rocketmq_send(data);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
std::cout << "Sent message " << (i + 1) << " with Monitor " << data.monitor_id << " and TIME " << modified_time << std::endl;
// <20>ȴ<EFBFBD><C8B4><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Ϣ<EFBFBD>ķ<EFBFBD><C4B7>ͣ<EFBFBD><CDA3>̶<EFBFBD>Ϊ1<CEAA><31><EFBFBD>ӣ<EFBFBD>
//QThread::sleep(60); // ÿ<>η<EFBFBD><CEB7>ͼ<EFBFBD><CDBC><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD>
}
}
}
std::cout << "Finished sending " << total_messages << " messages." << std::endl;
}