12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- #include "ToEQMDataBase.h"
- #include <QJsonDocument>
- #include <QJsonObject>
- #include <QVector>
- 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<AlgorithmInfo>& 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;
- }
|