fix ledger update

This commit is contained in:
lnk
2025-10-11 15:57:22 +08:00
parent 987dba34dc
commit fbbb96a64a
3 changed files with 20 additions and 9 deletions

View File

@@ -682,7 +682,7 @@ bool parseJsonMessageUD(const std::string& json_str, const std::string& output_d
if (messageBody.contains("data") && messageBody["data"].is_array()) {
for (const auto& item : messageBody["data"]) {
terminal_dev json_data;
terminal_dev json_data{};
json_data.terminal_id = item.value("id", "");
json_data.terminal_name = item.value("name", "");
@@ -695,7 +695,11 @@ bool parseJsonMessageUD(const std::string& json_str, const std::string& output_d
//json_data.dev_key = item.value("devKey", "");
//json_data.dev_series = item.value("series", "");
int procNo = item.value("processNo", -1);
int procNo = -1; // 兼容 item.processNo 类型
if (item.contains("processNo")) {
if (item["processNo"].is_number_integer()) procNo = item["processNo"].get<int>();
else if (item["processNo"].is_string()) { try { procNo = std::stoi(item["processNo"].get<std::string>()); } catch(...) { procNo = -1; } }
}
json_data.processNo = std::to_string(procNo);
//int procNum = item.value("maxProcessNum", -1);
@@ -707,9 +711,10 @@ bool parseJsonMessageUD(const std::string& json_str, const std::string& output_d
json_data.Righttime = item.value("Righttime", "");
if (item.contains("monitorData") && item["monitorData"].is_array()) {
int j = 0;
size_t j = 0;
constexpr size_t kMaxLines = std::extent<decltype(terminal_dev::line)>::value; // 如果是 C 数组
for (const auto& monitor_item : item["monitorData"]) {
if (j >= 10) break;
if (j >= kMaxLines) break;
auto& m = json_data.line[j++];
m.monitor_id = monitor_item.value("id", "");
m.monitor_name = monitor_item.value("name", "");
@@ -1645,7 +1650,7 @@ void rocketmq_test_rt(Front* front)//用来测试实时数据
data.strText = std::string(buffer.str());
data.mp_id = "123123";
data.tag = G_ROCKETMQ_TAG_TEST;
data.tag = FRONT_INST;
data.key = G_ROCKETMQ_KEY_TEST;
std::lock_guard<std::mutex> lock(queue_data_list_mutex);
queue_data_list.push_back(data);
@@ -1669,7 +1674,7 @@ void rocketmq_test_ud(Front* front)//用来测试台账更新
data.strText = std::string(buffer.str());
data.mp_id = "123123";
data.tag = G_ROCKETMQ_TAG_TEST;
data.tag = FRONT_INST;
data.key = G_ROCKETMQ_KEY_TEST;
std::lock_guard<std::mutex> lock(queue_data_list_mutex);
queue_data_list.push_back(data);
@@ -1693,7 +1698,7 @@ void rocketmq_test_set(Front* front)//用来测试进程控制脚本
data.strText = std::string(buffer.str());
data.mp_id = "123123";
data.tag = G_ROCKETMQ_TAG_TEST;
data.tag = FRONT_INST;
data.key = G_ROCKETMQ_KEY_TEST;
std::lock_guard<std::mutex> lock(queue_data_list_mutex);
queue_data_list.push_back(data);
@@ -1717,7 +1722,7 @@ void rocketmq_test_rc(Front* front)//用来测试补招
data.strText = std::string(buffer.str());
data.mp_id = "123123";
data.tag = G_ROCKETMQ_TAG_TEST;
data.tag = FRONT_INST;
data.key = G_ROCKETMQ_KEY_TEST;
std::lock_guard<std::mutex> lock(queue_data_list_mutex);
queue_data_list.push_back(data);