From 8e4e45ce31ef056f1b9c0fff903fac6aeee6db38 Mon Sep 17 00:00:00 2001 From: lnk Date: Mon, 14 Jul 2025 13:27:38 +0800 Subject: [PATCH] use set_real_state_count --- LFtid1056/cloudfront/code/interface.h | 4 ++-- LFtid1056/cloudfront/code/main.cpp | 2 +- LFtid1056/cloudfront/code/rocketmq.cpp | 10 +++++++--- LFtid1056/dealMsg.cpp | 10 +++++++--- 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/LFtid1056/cloudfront/code/interface.h b/LFtid1056/cloudfront/code/interface.h index 3f897e0..b94c1f2 100644 --- a/LFtid1056/cloudfront/code/interface.h +++ b/LFtid1056/cloudfront/code/interface.h @@ -380,8 +380,8 @@ typedef struct { // 单条 DataArray 数据 struct DataArrayItem { int DataAttr; - int DataTimeSec; - int DataTimeUSec; + time_t DataTimeSec; + time_t DataTimeUSec; int DataTag; std::string Data; }; diff --git a/LFtid1056/cloudfront/code/main.cpp b/LFtid1056/cloudfront/code/main.cpp index 718e9f2..074555a 100644 --- a/LFtid1056/cloudfront/code/main.cpp +++ b/LFtid1056/cloudfront/code/main.cpp @@ -317,7 +317,7 @@ void Front::FrontThread() { try { while (!m_bIsFrontThreadCancle) { - check_3s_config(); // 实时数据触发 + //check_3s_config(); // 实时数据触发 //create_recall_xml(); // 生成待补招xml文件 check_ledger_update(); // 触发台账更新 } diff --git a/LFtid1056/cloudfront/code/rocketmq.cpp b/LFtid1056/cloudfront/code/rocketmq.cpp index a23440b..1147ae9 100644 --- a/LFtid1056/cloudfront/code/rocketmq.cpp +++ b/LFtid1056/cloudfront/code/rocketmq.cpp @@ -37,6 +37,8 @@ #include "interface.h" #include "front.h" +#include "../../client2.h" + ////////////////////////////////////////////////////////////////////////////////////////////////////////// using namespace std; @@ -876,11 +878,13 @@ rocketmq::ConsumeStatus myMessageCallbackrtdata(const rocketmq::MQMessageExt& ms } // 写入 XML - if (!createXmlFile(dev_index, mp_index, realData, soeData, limit, "new")) { + /*if (!createXmlFile(dev_index, mp_index, realData, soeData, limit, "new")) { DIY_ERRORLOG("process", "【ERROR】前置无法创建实时数据触发文件"); std::cerr << "Failed to create the XML file." << std::endl; return rocketmq::RECONSUME_LATER; - } + }*/ + //不再使用文件触发方式,直接调用接口向终端发起请求 + ClientManager::instance().set_real_state_count(devid, 60,mp_index);//一秒询问一次,询问60次 return rocketmq::CONSUME_SUCCESS; } @@ -1009,7 +1013,7 @@ rocketmq::ConsumeStatus myMessageCallbackrecall(const rocketmq::MQMessageExt& ms if (!result.empty()) { std::lock_guard lock(ledgermtx); - recall_json_handle(result); + recall_json_handle(result);//不再使用文件补招方式 } else { std::cerr << "recall data is NULL." << std::endl; diff --git a/LFtid1056/dealMsg.cpp b/LFtid1056/dealMsg.cpp index ead4191..6866944 100644 --- a/LFtid1056/dealMsg.cpp +++ b/LFtid1056/dealMsg.cpp @@ -195,7 +195,7 @@ void process_received_message(string mac, string id,const char* data, size_t len 3, //Ĵȼ1 I/Ӧ 2 II/Ӧ 3 ͨ/Ӧ 4 㲥 0x1302, //豸͵ avg_data.name, //߼豸ID0-߼豸-1 - avg_data.Data_Type, // + 0x04, //͹̶Ϊ 2, //ԣޡ0ʵʱ1ͳơ2 -1, //ݼţݼʽͣ-1 arr // @@ -284,6 +284,10 @@ void process_received_message(string mac, string id,const char* data, size_t len std::cout << "READING_REALSTAT state: Processing stats data from " << mac << std::endl; if (udata[8] == static_cast(MsgResponseType::Response_New_3S)) { unsigned char packet_type = udata[13]; + + //ȡ + unsigned char cid = udata[12]; + // ӵ const uint8_t* data_ptr = parser.RecvData.data() + 4; size_t data_size = parser.RecvData.size() - 4; @@ -356,8 +360,8 @@ void process_received_message(string mac, string id,const char* data, size_t len 123456, //豸ΨһʶLdid0Ndid,id 3, //Ĵȼ1 I/Ӧ 2 II/Ӧ 3 ͨ/Ӧ 4 㲥 0x1302, //豸͵ - 1,//realdata.name, //߼豸ID0-߼豸-1ȷʵʱݴӺλȡ - 1,//realdata.Data_Type, //ͣȷʵʱݴӺλȡ + cid, //߼豸ID0-߼豸-1 + 0x04, //͹̶Ϊ 1, //ԣޡ0ʵʱ1ͳơ2 -1, //ݼţݼʽͣ-1 arr //