#include "ToEQMDataBase.h" #include #include #include ToEQMDataBase::ToEQMDataBase() { m_logger = spdlog::get("ToEQMDataBase"); if(m_logger == nullptr) { SPDLOG_ERROR("ToEQMDataBase logger is nullptr"); return; } } ToEQMDataBase::~ToEQMDataBase() { if(m_httpApi != nullptr) { delete m_httpApi; m_httpApi = nullptr; } } /* 初始化WebApi */ bool ToEQMDataBase::initWebApi(const QString& url, const QString& serverIP, const QString& serID) { if(m_httpApi == nullptr) { m_httpApi = new lhhttpapi; } int ret = 0; ret = m_httpApi->DBQInit(url); if(ret < 0) { SPDLOG_LOGGER_ERROR(m_logger,"Init WebApi failed:{}, error Info:{}",ret,m_httpApi->DoGetLastError(&ret).toStdString()); return false; } // SPDLOG_LOGGER_TRACE(m_logger,"初始化WebApi成功!"); QString serverList; ret = m_httpApi->DBQGetServerList(serverList); if(ret < 0) { SPDLOG_LOGGER_DEBUG(m_logger,"Get server list failed:{}, error info:{}",ret,m_httpApi->DoGetLastError(&ret).toStdString()); return false; } SPDLOG_LOGGER_TRACE(m_logger,"Server list:{}",serverList.toStdString()); SPDLOG_LOGGER_DEBUG(m_logger,"WebAPI Sucess!"); /* 登录 */ ret = m_httpApi->DBQLogin(serverIP, serID, "SPSS", m_userToken); if(ret < 0) { SPDLOG_LOGGER_ERROR(m_logger,"Login failed:{}, error info:{}",ret,m_httpApi->DoGetLastError(&ret).toStdString()); return false; } SPDLOG_LOGGER_TRACE(m_logger,"Login sucess!"); return true; } /* 写入算法信息,写入tAction表 */ bool ToEQMDataBase::writeAlgorithmInfo(QVector& vecInfo) { if(m_httpApi == nullptr) { SPDLOG_LOGGER_ERROR(m_logger,"WebApi is nullptr"); return false; } for(const auto& it : vecInfo) { QJsonDocument doc; QJsonObject obj0; QString retStr; /* 操作名称,现在一次性将设备位置和线条信息都下载下来 */ obj0.insert("opName", "SPSS_InsertToAction"); QJsonObject obj1; obj1.insert("actionID", it.ActionID); /* 算法ID */ obj1.insert("actionName", it.ActionName); /* 算法名称 */ obj1.insert("actionTaskID", it.ActionTaskID); /* 算法类型 */ obj0.insert("paramList", obj1); /* SQL语句的参数列表 */ auto strCmd = QJsonDocument(obj0).toJson(QJsonDocument::Compact); int ret = m_httpApi->DBQDoInterface(enDBOperatorType::EDBOT_Insert, strCmd, retStr); if(ret < 0) { SPDLOG_LOGGER_DEBUG(m_logger,"写入tAction失败:{}, 错误信息:{}",ret,m_httpApi->DoGetLastError(&ret).toStdString()); } // SPDLOG_LOGGER_DEBUG(m_logger,"写入tAction成功!"); } return true; }