From 5c61b6cd2dc9fed8036b1d508b193455e9438854 Mon Sep 17 00:00:00 2001 From: lnk Date: Thu, 6 Mar 2025 15:24:49 +0800 Subject: [PATCH] fix bug in pst --- cfg_parse/cfg_parser.cpp | 30 +++--------------------------- json/create_json.cpp | 23 ++++++++++++++--------- json/save2json.h | 30 +++++++++++++++++++++++++----- mms/db_interface.h | 2 -- mms/main.c | 8 -------- 5 files changed, 42 insertions(+), 51 deletions(-) diff --git a/cfg_parse/cfg_parser.cpp b/cfg_parse/cfg_parser.cpp index 97a3d90..902c4d2 100644 --- a/cfg_parse/cfg_parser.cpp +++ b/cfg_parse/cfg_parser.cpp @@ -11888,15 +11888,15 @@ void Worker::handleViewLogCommand(const QString& command, QTcpSocket* clientSock activeClient = clientSocket; // 记录当前 shell socket clientSocket->write("\r\x1B[K"); - clientSocket->write(QString("Viewing logs for level: %1 (Press 'q' to exit)\n> ").arg(logLevel).toUtf8()); + clientSocket->write(QString("Viewing logs for level: %1 (Press '`' to exit)\n> ").arg(logLevel).toUtf8()); clientSocket->flush(); while (!stopViewLog) { // **1. 监听输入,用户输入 `q` 退出** if (clientSocket->waitForReadyRead(500)) { // ? 监听输入 QByteArray input = clientSocket->readAll().trimmed(); - if (input == "q") { // ? 用户输入 `q`,退出日志模式 - std::cout << "Received 'q' from shell socket! Exiting viewlog...\n"; + if (input == "`") { // ? 用户输入 `q`,退出日志模式 + std::cout << "Received '`' from shell socket! Exiting viewlog...\n"; stopViewLog = true; showinshellflag = false; break; @@ -13999,30 +13999,6 @@ void httpThread::run() printf("httpThread::run() is end ...... \n"); } -//在类中定义测试线程任务lnk20250107 -//不使用简单的循环线程,而是启动一个app,不仅执行循环线程,而且可以连接输入 -/*void mqtestThread::run() -{ - printf("mqtestThread::run() is called ...... \n"); - - while(1) - { - if(G_TEST_NUM != 0){ - rocketmq_test_300(G_TEST_NUM,g_front_seg_index); - QThread::sleep(60); // 每次发送间隔1分钟 - } - } - - printf("mqtestThread::run() is end ...... \n"); -}*/ - - -void curltest() -{ - char* ptr=NULL; - std::string code = std::string("code1=recall"); - SendWebAPI_web("http://192.168.1.149:8091/powerQuality/getProperties", code.c_str(), &ptr); -} // Base64 编码函数,将输入的字符串编码为 Base64 格式 //实现json中的文件流 std::string base64_encode(const std::string& in) { diff --git a/json/create_json.cpp b/json/create_json.cpp index 7cf4589..336cbc6 100644 --- a/json/create_json.cpp +++ b/json/create_json.cpp @@ -1862,6 +1862,13 @@ int transfer_json_block_data(char v_wiring_type[], json_block_data *data) //json while (it != pMonitor->ItemList.end()) { CItem* pItem = *it++; + //////////////////////////////////////////////////////////lnk20250306为了数据入库,构造数据添加FLAG + if ("FLAG" == pItem->strItemName) //剔除"FLAG",防止sq相别出现错误指针 + { + KafkaData.strText.append(QString("\"FLAG\":%1, ").arg(data->flag)); //拼接 json剔除标记,1不剔除,0剔除,默认剔除 + continue; + } + ////////////////////////////////////////////////////////// if ("TIME" == pItem->strItemName) //剔除"FLAG",防止sq相别出现错误指针 { KafkaData.strText.append(QString("\"TIME\":\"%1\", ").arg(data->time)); //拼接 json发生时刻,毫秒 @@ -1979,6 +1986,13 @@ int transfer_json_block_data(char v_wiring_type[], json_block_data *data) //json while (it != pMonitor->ItemList.end()) { CItem* pItem = *it++; + //////////////////////////////////////////////////////////lnk20250306为了数据入库,构造数据添加FLAG + if ("FLAG" == pItem->strItemName) //剔除"FLAG",防止sq相别出现错误指针 + { + KafkaData.strText.append(QString("\"FLAG\":%1, ").arg(data->flag)); //拼接 json剔除标记,1不剔除,0剔除,默认剔除 + continue; + } + ////////////////////////////////////////////////////////// if ("TIME" == pItem->strItemName) //剔除"FLAG",防止sq相别出现错误指针 { KafkaData.strText.append(QString("\"TIME\":\"%1\", ").arg(data->time)); //拼接 json发生时刻,毫秒 @@ -4331,15 +4345,6 @@ void qvvr_test() transfer_json_qvvr_data(1, 123456789, 220, 180, 1730894400.123, 1730894580, 1210001,uuid_cfg,uuid_dat,mp_id,Qvvr_rptname,devtype); } -/* -void integrity_test() -{ - QString time = "2024-11-6"; - QString datatime = "2024-11-6 13:13:13"; - QString monitorId = "000cf2a27f3f13f330b9e8690641e7f2"; - - errorlog_dataintegrity_pgsql(time,datatime,monitorId,1); -}*/ void comflag_test() { diff --git a/json/save2json.h b/json/save2json.h index e992400..9eba7f4 100644 --- a/json/save2json.h +++ b/json/save2json.h @@ -28,7 +28,7 @@ extern "C" { #include #include - +#include "../mms/db_interface.h" #include //lnk20250106 @@ -53,6 +53,8 @@ extern void ledger(const char* terminal_id = NULL,QIODevice* outputDevice = NULL extern void value_print(const char *variableName, QTcpSocket *clientSocket); extern int TEST_PORT; + + ////////////////////////////////////////////////////////////////////////////// //struct json_pair_info //{ @@ -307,9 +309,9 @@ private slots: continue; } - // 1) 处理 'q' 退出 viewlog - if (c == 'q') { - std::cout << "Received 'q' from shell socket! Exiting viewlog...\n"; + // 1) 处理 '`' 退出 viewlog + if (c == '`') { + std::cout << "Received '`' from shell socket! Exiting viewlog...\n"; if (activeClient == clientSocket) { stopViewLog = true; clientSocket->write("\r\x1B[K"); @@ -356,7 +358,7 @@ private slots: } // 假设提示符固定为 "> ",提示符长度为2 - const int promptLength = 2; + const int promptLength = 1; // 4) 退格键 if (c == '\x7f' || c == '\b') { @@ -421,6 +423,9 @@ private: helpText += "set - Execute rocketmq_test_set\r\n"; helpText += "only - Execute rocketmq_test_only\r\n"; helpText += "log - Execute rocketmq_test_log\r\n"; + helpText += "soe - Execute http_test_soe\r\n"; + helpText += "qvvr - Execute http_test_qvvr\r\n"; + helpText += "connect - Execute http_test_connect\r\n"; helpText += "ledger - Execute ledger with optional terminal_id\r\n"; helpText += "viewlog - View logs (ERROR, WARN, NORMAL, DEBUG)\r\n"; helpText += "value - Execute value print with valuename : frontindex remtable iedcount frontfun log init\r\n"; @@ -475,6 +480,21 @@ private: clientSocket->write("\r\x1B[K"); clientSocket->write("Executed rocketmq_test_log\r\n"); } + else if (cmd.startsWith("soe")) { + SOEFileWeb_test(); + clientSocket->write("\r\x1B[K"); + clientSocket->write("Executed http_test_soe\r\n"); + } + else if (cmd.startsWith("qvvr")) { + qvvr_test(); + clientSocket->write("\r\x1B[K"); + clientSocket->write("Executed http_test_qvvr\r\n"); + } + else if (cmd.startsWith("connect")) { + comflag_test(); + clientSocket->write("\r\x1B[K"); + clientSocket->write("Executed http_test_connect\r\n"); + } else if (cmd.startsWith("ledger")) { QStringList parts = cmd.split(" "); if (parts.size() > 1) { diff --git a/mms/db_interface.h b/mms/db_interface.h index 03acb0e..a5eb27e 100644 --- a/mms/db_interface.h +++ b/mms/db_interface.h @@ -190,10 +190,8 @@ void DeletcRecallXml(); /*lnk10-11*//////////////////////////////////////////////////////////////////////// void rocketmq_test(); void rocketmq_test_300(int mpnum,int front_index); -void curltest(); void SOEFileWeb_test(); void qvvr_test(); -void integrity_test(); void comflag_test(); int parse_device_web_test_ext(); diff --git a/mms/main.c b/mms/main.c index 32de7a0..7675461 100644 --- a/mms/main.c +++ b/mms/main.c @@ -309,14 +309,6 @@ int main(int argc, const char **argv) apr_sleep(apr_time_from_sec(1)); /* 每30秒钟检查一次状态 */ - /*202411-1lnk添加文件上传测试 */ - //SOEFileWeb_test(); - //添加上传测试 - //qvvr_test(); - //apr_sleep(apr_time_from_sec(3)); - //comflag_test(); - //apr_sleep(apr_time_from_sec(3)); - if( !(stimer++ % 60) ) {//分钟 if (g_dead_lock_counter++ >=3) {//三分钟 g_thread_blocked_times++;