the heartbeat reply ledgerupdate is ok
This commit is contained in:
@@ -671,10 +671,17 @@ void check_3s_config()
|
||||
int isValidModelId(const char* model_id) {
|
||||
size_t i;
|
||||
|
||||
if (model_id == NULL) return 0; // NULL 无效
|
||||
if (model_id == NULL)
|
||||
{
|
||||
printf("!!!model_id null!!!\n");
|
||||
return 0;
|
||||
} // NULL 无效
|
||||
|
||||
size_t len = strlen(model_id);
|
||||
if (len < 4) return 0; // 长度 < 4 无效
|
||||
if (len < 4) {
|
||||
printf("!!!model_id length < 4!!!\n");
|
||||
return 0; // 长度 < 4 无效
|
||||
}
|
||||
|
||||
// 检查是否全是空格
|
||||
for (i = 0; i < len; i++) {
|
||||
@@ -682,6 +689,7 @@ int isValidModelId(const char* model_id) {
|
||||
return 1; // 只要包含非空格字符,就是合法的
|
||||
}
|
||||
}
|
||||
printf("!!!model_id only space!!!\n");
|
||||
return 0; // 仅包含空格,无效
|
||||
}
|
||||
|
||||
@@ -774,6 +782,9 @@ void process_ledger_update(trigger_update_xml_t *ledger_update_xml)
|
||||
|
||||
//添加mq响应台账添加失败:台账挂满
|
||||
//update[i].guid
|
||||
char msg[256];
|
||||
sprintf(msg, "终端 id: %s 台账更新失败, 这个进程的台账空间已满,达到了配置台账数量的最大值", update[i].terminal_id);
|
||||
send_reply_to_kafka_c(update[i].guid, "2", msg);
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -798,14 +809,24 @@ void process_ledger_update(trigger_update_xml_t *ledger_update_xml)
|
||||
|
||||
ied_usr = (ied_usr_t*)apr_pcalloc(g_init_pool, sizeof(ied_usr_t));
|
||||
ied->usr_ext = ied_usr;//内存挂到ied上
|
||||
if (ied_usr == NULL)
|
||||
return APR_ENOMEM;
|
||||
if (ied_usr == NULL){
|
||||
char msg[256];
|
||||
snprintf(msg, sizeof(msg), "终端 id: %s 台账更新失败,没有找到台账的终端空间", update[i].terminal_id);
|
||||
send_reply_to_kafka_c(update[i].guid, "2", msg);
|
||||
return ;
|
||||
}
|
||||
|
||||
|
||||
ied_usr->last_call_wavelist_time = sGetMsTime() + g_pt61850app->giTime * 1000;//从FeProject/子功能目录/etc/pt61850netd_pqfe.xml中读取的总查询时间
|
||||
|
||||
ied_usr->LD_info = (LD_info_t*)apr_pcalloc(g_init_pool, MAX_CPUNO * sizeof(LD_info_t));//内存挂到ied上
|
||||
if (ied_usr->LD_info == NULL)
|
||||
return APR_ENOMEM;
|
||||
if (ied_usr->LD_info == NULL){
|
||||
char msg[256];
|
||||
snprintf(msg, sizeof(msg), "终端 id: %s 台账更新失败,没有找到台账的监测点空间", update[i].terminal_id);
|
||||
send_reply_to_kafka_c(update[i].guid, "2", msg);
|
||||
return ;
|
||||
}
|
||||
|
||||
|
||||
ied_usr->dev_flag = ENABLE;//终端有效
|
||||
|
||||
@@ -821,22 +842,27 @@ void process_ledger_update(trigger_update_xml_t *ledger_update_xml)
|
||||
int ret = update_one_terminal_ledger(update,i,ied,terminal_index,ied_take);
|
||||
if(ret){
|
||||
printf("ledger can not be update!!!!!quit process!!!!!\n");
|
||||
return 0;
|
||||
char msg[256];
|
||||
snprintf(msg, sizeof(msg), "终端 id: %s 台账更新失败,无法写入台账", update[i].terminal_id);
|
||||
send_reply_to_kafka_c(update[i].guid, "2", msg);
|
||||
}
|
||||
//3-写入台账内容///////////////////////////////////
|
||||
|
||||
//4-配置映射文件//////////////////////////////
|
||||
char model[64];
|
||||
// 获取模型ID,检查是否返回 NULL
|
||||
char* model_id = parse_model_cfg_web_one(ied);//存储在/FeProject/dat/
|
||||
parse_model_cfg_web_one(ied,model);//存储在/FeProject/dat/
|
||||
|
||||
if (isValidModelId(model_id)) { //lnk20250313防止拿不到映射文件
|
||||
if (isValidModelId(model)) { //lnk20250313防止拿不到映射文件
|
||||
// 安全拷贝字符串到 model 数组
|
||||
strncpy(model, model_id, sizeof(model) - 1);
|
||||
strncpy(model, model, sizeof(model) - 1);
|
||||
model[sizeof(model) - 1] = '\0'; // 确保以 null 结尾
|
||||
printf("ledger Model ID: %s\n", model);
|
||||
} else {
|
||||
printf("ledger No model ID found.quit\n");
|
||||
char msg[256];
|
||||
snprintf(msg, sizeof(msg), "终端 id: %s 台账更新失败,没有找到装置型号", update[i].terminal_id);
|
||||
send_reply_to_kafka_c(update[i].guid, "2", msg);
|
||||
return ;
|
||||
}
|
||||
char full_path[128];
|
||||
@@ -865,6 +891,9 @@ void process_ledger_update(trigger_update_xml_t *ledger_update_xml)
|
||||
|
||||
//8响应添加成功
|
||||
//update[i].guid
|
||||
char msg[256];
|
||||
snprintf(msg, sizeof(msg), "终端 id: %s 台账添加成功", update[i].terminal_id);
|
||||
send_reply_to_kafka_c(update[i].guid, "2", msg);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -908,22 +937,31 @@ void process_ledger_update(trigger_update_xml_t *ledger_update_xml)
|
||||
int ret = update_one_terminal_ledger(update,i,ied,ied_usr->dev_idx,1);//1:更新已有的ied
|
||||
if(ret){
|
||||
printf("ledger can not be update!!!!!quit process!!!!!\n");
|
||||
return 0;
|
||||
|
||||
char msg[256];
|
||||
snprintf(msg, sizeof(msg), "终端 id: %s 台账更新失败,台账无法写入", update[i].terminal_id);
|
||||
send_reply_to_kafka_c(update[i].guid, "2", msg);
|
||||
return ;
|
||||
}
|
||||
//3-写入台账内容////////////////////////////////////////////
|
||||
|
||||
//4-配置映射文件///////////////////////////////////////////
|
||||
char model[64] = {0};
|
||||
// 获取模型ID,检查是否返回 NULL
|
||||
char* model_id = parse_model_cfg_web_one(ied);//存储在/FeProject/dat/
|
||||
parse_model_cfg_web_one(ied,model);//存储在/FeProject/dat/
|
||||
|
||||
if (model_id != NULL) {
|
||||
if (isValidModelId(model)) {
|
||||
// 安全拷贝字符串到 model 数组
|
||||
strncpy(model, model_id, sizeof(model) - 1);
|
||||
strncpy(model, model, sizeof(model) - 1);
|
||||
model[sizeof(model) - 1] = '\0'; // 确保以 null 结尾
|
||||
printf("ledger Model ID: %s\n", model);
|
||||
} else {
|
||||
printf("ledger No model ID found.\n");
|
||||
|
||||
char msg[256];
|
||||
snprintf(msg, sizeof(msg), "终端 id: %s 台账更新失败,没有找到装置型号", update[i].terminal_id);
|
||||
send_reply_to_kafka_c(update[i].guid, "2", msg);
|
||||
return ;
|
||||
}
|
||||
char full_path[128];
|
||||
snprintf(full_path, sizeof(full_path), "/FeProject/dat/%s.xml", model); // 拼接路径
|
||||
@@ -949,6 +987,9 @@ void process_ledger_update(trigger_update_xml_t *ledger_update_xml)
|
||||
|
||||
//8响应添加成功
|
||||
//update[i].guid
|
||||
char msg[256];
|
||||
snprintf(msg, sizeof(msg), "终端 id: %s 台账修改成功", update[i].terminal_id);
|
||||
send_reply_to_kafka_c(update[i].guid, "2", msg);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -957,6 +998,9 @@ void process_ledger_update(trigger_update_xml_t *ledger_update_xml)
|
||||
|
||||
//添加mq响应台账添加失败:台账找不到
|
||||
//update[i].guid
|
||||
char msg[256];
|
||||
sprintf(msg, "终端 id: %s 台账修改失败, 无法找到这个终端", update[i].terminal_id);
|
||||
send_reply_to_kafka_c(update[i].guid, "2", msg);
|
||||
}
|
||||
}
|
||||
///////////////////////////////////////////////////////////////////////////////delete
|
||||
@@ -1032,7 +1076,10 @@ void process_ledger_update(trigger_update_xml_t *ledger_update_xml)
|
||||
//更新数据//////////////////////////////////////////////////////////////////////
|
||||
|
||||
//7响应添加成功
|
||||
//update[i].guid
|
||||
//update[i].guid
|
||||
char msg[256];
|
||||
snprintf(msg, sizeof(msg), "终端 id: %s 台账删除成功", update[i].terminal_id);
|
||||
send_reply_to_kafka_c(update[i].guid, "2", msg);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1041,6 +1088,10 @@ void process_ledger_update(trigger_update_xml_t *ledger_update_xml)
|
||||
|
||||
//添加mq响应台账添加失败:台账找不到
|
||||
//update[i].guid
|
||||
|
||||
char msg[256];
|
||||
sprintf(msg, "终端 id: %s 台账删除失败, 无法找到这个终端", update[i].terminal_id);
|
||||
send_reply_to_kafka_c(update[i].guid, "2", msg);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user