/* * @Description: file content * @Author: why * @version: * @Date: 2025-02-28 14:24:59 * @LastEditors: why * @LastEditTime: 2025-02-28 17:56:39 */ #include #include #include #include #include #include #include "common/inc/json.hpp" #include "F_FormatData.h" #include "bizservice.h" #include "ToolUtils.h" using namespace std; using json = nlohmann::json ;// for convenience typedef unsigned char BYTE; typedef struct topic{ std::string src; std::string des; std::string sid; std::string fid; } topic_type; REGISTER_BIZSERVICE("F-FormatData",FormatData); FormatData::FormatData(void){ handpara = nullptr; initpara = nullptr; } FormatData::~FormatData(void){ } void FormatData::Init(initparam_t *param){ initpara = param; } static std::string search_table_db(int afn,unsigned int dataid){ std::string table; return table; } std::string FormatData::GetFID(){ std::string value("F-FormatData"); return value; } int FormatData::SQLBatch_exc(sqlite3 *db,std::vector &sql_list,std::vector &result){ char *errMsg = nullptr; const char *sql; int rc; int resp = 0; // 开启事务 if (sqlite3_exec(db, "BEGIN TRANSACTION;", nullptr, nullptr, &errMsg) != SQLITE_OK) { std::cerr << "事务开启失败: " << errMsg << std::endl; sqlite3_free(errMsg); return -1; } // 执行批量插入操作 sqlite3_stmt *stmt; int idx = 0; int count = 0; for(const auto &k:sql_list){ std::cout << "cmd:"< sql_list; std::vector result; sql_list.clear(); result.clear(); std::string table_name ; try{ value = json::parse(msg.payload); } catch(const std::exception &e){ std::cout << "topic "<