#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; /* 操作名称,现在一次性将设备位置和线条信息都下载下来 */ nJson json0; json0["opName"] = "SPSS_InsertToAction"; nJson json1; json1["actionID"] = it.ActionID; /* 算法ID */ json1["actionName"] = it.ActionName; /* 算法名称 */ json1["actionTaskID"] = it.ActionTaskID; /* 算法类型 */ json0["paramList"] = json1; QString strCmd = QString::fromStdString(json0.dump()); 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; }