/** * @文件路径: \datacenter\datacenter\src\userinterface.cpp * @作者名称: zjp * @文件版本: V1.0.0 * @创建日期: 2025-02-20 10:13:44 * @简要说明: * @编辑时间: 2025-02-21 15:06:47 * @Copyright: 2025 Shenzhen ShenBao Electrical instruments CO.,LTD. All Rights Reserved. */ #include #include #include #include #include "ToolUtils.h" #include "bizservice.h" #include "msg.h" #include "json.hpp" #include "version.h" #include "datacenter/bizService/F_GetVersion.h" REGISTER_BIZSERVICE("F-GetVersion",GetVersion); /** * @brief 初始化 * * @param param 输入初始化参数 */ void GetVersion::Init(initparam_t *param) { } /** * @brief 业务处理 * * @param msg 输入消息体 * @param param 可用数据库连接句柄 * @return int 返回值 成功为1 失败为0 */ int GetVersion::HandleMsg(const msg_t msg,msg_t &outMsg, handparam_t *param) { // 正常业务处理... std::string tokenStr = ""; std::string recvTimeStr = ""; try { nlohmann::json jsObj = nlohmann::json::parse(msg.payload); tokenStr = jsObj["token"]; recvTimeStr = jsObj["time"]; }catch (nlohmann::json::parse_error& e) { std::cerr << "Parsing error: " << e.what() << std::endl; return -1; } //封装json响应 makeGetVersionReponse(tokenStr,msg.subTopicV,outMsg); return 0; } /** * @brief 获取FID * * @return const std::string FID名称 */ std::string GetVersion::GetFID(void) { return "F-GetVersion"; } void GetVersion::makeGetVersionReponse(std::string tokenStr,const std::vectortopicV,msg_t &outMsg) { nlohmann::json js; js["token"] = tokenStr; js["time"] = ToolUtils::getCurTimeStringWithFomat(false); js["data"] = {{"version",DATA_CENTER_VERSION}}; outMsg.topic = "/" + topicV[1] + "/" + topicV[0] + "/" + topicV[2] + "/" + topicV[3]; outMsg.payload = js.dump(); outMsg.timestamp = ToolUtils::getUtcTime(false); }