完成数据追踪原始数据上送

This commit is contained in:
lnk
2026-06-09 16:13:52 +08:00
parent cd92ea09f1
commit d3579a2aa7
3 changed files with 39 additions and 7 deletions

View File

@@ -44,6 +44,7 @@ extern std::string WEB_COMFLAG;
extern std::string WEB_EVENT;
extern std::string WEB_FILEDOWNLOAD;
extern std::string G_CONNECT_TOPIC;
extern std::string DATA_TRACE_TOPIC;//lnk20260609数据追踪topic
extern int RECALL_ONLY_FLAG;
@@ -290,24 +291,36 @@ static void trace_hit_and_decrement(const QString& mp_id)
}
//追踪61850原始数据
static QString build_mms_multiline_text(const json_block_data* data)
static QString build_mms_json_object(const json_block_data* data)
{
QStringList lines;
QString json = "{";
QMapIterator<QString, double> it(data->mms_str_map);
bool first = true;
while (it.hasNext()) {
it.next();
lines << QString("%1 = %2").arg(it.key()).arg(it.value(), 0, 'g', 15);
if (!first)
json += ",";
json += QString("\"%1\":%2")
.arg(escape_json_string(it.key()))
.arg(QString::number(it.value(), 'g', 15));
first = false;
}
return lines.join("\n");
json += "}";
return json;
}
static QString build_trace_json(const json_block_data* data)
{
if (!data) return "{}";
QString mms_text = build_mms_multiline_text(data);
QString mms_json = build_mms_json_object(data);
QString json;
json += "{";
@@ -316,7 +329,7 @@ static QString build_trace_json(const json_block_data* data)
json += QString("\"data_time\":%1,").arg(QString::number((qlonglong)data->time));
json += QString("\"voltage_level\":\"%1\",").arg(QString::number(data->voltage_level, 'f', 6));
json += QString("\"dev_type\":\"%1\",").arg(escape_json_string(data->dev_type));
json += QString("\"mms_text\":\"%1\"").arg(escape_json_string(mms_text));
json += QString("\"mms_json\":%1").arg(mms_json);
json += "}";
return json;
@@ -334,7 +347,7 @@ static void send_trace_if_needed(json_block_data* pdata)
Ckafka_data_t KafkaData;
KafkaData.monitor_id = pdata->monitorId;
KafkaData.mp_id = pdata->mp_id;
KafkaData.strTopic = "DATA_TRACE_TOPIC";
KafkaData.strTopic = QString::fromStdString(DATA_TRACE_TOPIC);
KafkaData.strText = jsonText;
kafka_data_list_mutex.lock();
@@ -1204,6 +1217,9 @@ int transfer_json_block_data(char v_wiring_type[], json_block_data *data) //json
print_mms_str_map(data);
}
//数据追踪上送
send_trace_if_needed(data);
list<CTopic*> ctopic_list;
////lnk2024-8-15 区分星型,角型接线