/* * @Description: file content * @Author: why * @version: * @Date: 2025-02-28 14:24:59 * @LastEditors: why * @LastEditTime: 2025-02-28 17:55:48 */ #include #include #include #include #include #include #include "common/inc/json.hpp" #include "F_GetSupportNum.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-GetSupportNum",GetSupportNum); GetSupportNum::GetSupportNum(void){ handpara = nullptr; initpara = nullptr; } GetSupportNum::~GetSupportNum(void){ } void GetSupportNum::Init(initparam_t *param){ initpara = param; } static std::string search_table_db(int afn,unsigned int dataid){ std::string table; return table; } std::string GetSupportNum::GetFID(){ std::string value("F-GetSupportNum"); return value; } int GetSupportNum::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 "<().c_str()); ToolUtils::decode_blob(&afn,4,subvalue["afn"].get().c_str()); std::stringstream ss; //table_name =search_table_db(afn,dataid); table_name = "frozen"; ss << "seletc count (*) from " <())<<";"; printf("getsupportnum sql:%s \n",ss.str().c_str()); sql_list.push_back(ss.str()); ss.clear(); } ret = SQLBatch_exc((sqlite3*)handpara,sql_list,result); resp_process: resp["time"]=ToolUtils::now_to_string(); resp["data"]["support"]=62; outMsg.topic = ToolUtils::makeTpopicStr(topic); outMsg.timestamp = time(NULL);; outMsg.payload = resp.dump(); std::cout << "resp UpdateRecord payload:"<