fix rt data
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include "../mms/db_interface.h"
|
||||
|
||||
#include "../include/rocketmq/CProducer.h"
|
||||
#include "../include/rocketmq/CMessage.h"
|
||||
#include "../include/rocketmq/CSendResult.h"
|
||||
@@ -723,6 +724,8 @@ void rocketmq_producer_send(const char* strbody,const char* topic)
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
extern "C" {
|
||||
extern std::string G_MQCONSUMER_TOPIC_RT;
|
||||
void rocketmq_test_rt()
|
||||
@@ -795,14 +798,12 @@ void rocketmq_test_rc()
|
||||
data.mp_id = 123123;
|
||||
my_rocketmq_send(data);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
std::string to_string(long long value) {
|
||||
std::stringstream ss;
|
||||
ss << value;
|
||||
return ss.str();
|
||||
}
|
||||
|
||||
|
||||
#if 0
|
||||
void rocketmq_test_300(int mpnum,int front_index) {
|
||||
Ckafka_data_t data;
|
||||
data.strTopic = QString::fromStdString(G_ROCKETMQ_TOPIC);
|
||||
@@ -879,3 +880,6 @@ void rocketmq_test_300(int mpnum,int front_index) {
|
||||
|
||||
std::cout << "Finished sending " << total_messages << " messages." << std::endl;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -726,7 +726,7 @@ std::string extractDataJson(const char* inputJson) {
|
||||
if (messageJson == NULL || messageJson->type != cJSON_String) {
|
||||
std::cerr << "'messageJson' is missing or is not an cJSON_String" << std::endl;
|
||||
cJSON_Delete(root);
|
||||
return false;
|
||||
return "";
|
||||
}
|
||||
|
||||
// <20><><EFBFBD><EFBFBD> messageBody <20>е<EFBFBD> JSON <20>ַ<EFBFBD><D6B7><EFBFBD>
|
||||
@@ -734,14 +734,14 @@ std::string extractDataJson(const char* inputJson) {
|
||||
if (messageBodyStr == nullptr || strlen(messageBodyStr) == 0) {
|
||||
std::cerr << "Failed to parse 'messageBody' JSON or it's empty." << std::endl;
|
||||
cJSON_Delete(root);
|
||||
return false;
|
||||
return "";
|
||||
}
|
||||
|
||||
cJSON* messageBody = cJSON_Parse(messageBodyStr); // <20><><EFBFBD><EFBFBD> messageBody <20>ַ<EFBFBD><D6B7><EFBFBD>
|
||||
if (messageBody == NULL) {
|
||||
std::cerr << "Failed to parse 'messageBody' JSON." << std::endl;
|
||||
cJSON_Delete(root);
|
||||
return false;
|
||||
return "";
|
||||
}
|
||||
|
||||
// <20><>ȡ "data" <20><><EFBFBD><EFBFBD>
|
||||
|
||||
Reference in New Issue
Block a user