feat:实时数据服务中增加stop接口
This commit is contained in:
parent
59c3707e06
commit
a2ab901d1d
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef MEASUREMENTDATAMANAGER_H
|
||||
#define MEASUREMENTDATAMANAGER_H
|
||||
|
||||
#include "measurementDataUtils.h"
|
||||
#include <QObject>
|
||||
#include <QHash>
|
||||
#include <QUrl>
|
||||
|
|
@ -9,7 +10,6 @@ class QSettings;
|
|||
class QNetworkAccessManager;
|
||||
class QNetworkReply;
|
||||
class WebSocketClient;
|
||||
class MeasurementData;
|
||||
|
||||
class MeasurementDataManager : public QObject
|
||||
{
|
||||
|
|
@ -23,7 +23,7 @@ public:
|
|||
void stopSubscription();
|
||||
void addSubscriptionData(const QStringList& measurements);
|
||||
void removeSubscriptionData(const QStringList& measurements);
|
||||
void getSubscriptionRealtimeData();
|
||||
MeasurementDataPoint getLatestRealtimeData(const QString& dataID);
|
||||
void queryHistoricalEvents(const QString& dataID, const QDateTime& startTime, const QDateTime& endTime, const QString& step, const QString& type = "phasor");
|
||||
|
||||
private slots:
|
||||
|
|
@ -76,6 +76,7 @@ private:
|
|||
void processSubscriptionResponse(const QString& action, QNetworkReply* reply);
|
||||
QUrl buildHistoricalQueryUrl(const QString& dataID,const QDateTime& startTime, const QDateTime& endTime, const QString& step, const QString& type);
|
||||
void processHistoricalResponse(const QString& dataID, const QByteArray& data);
|
||||
void getSubscriptionRealtimeData();
|
||||
|
||||
//配置相关
|
||||
ServiceConfig m_serviceConfig;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
#include "measurementDataManager.h"
|
||||
#include "logger.h"
|
||||
#include "measurementDataUtils.h"
|
||||
#include <QNetworkAccessManager>
|
||||
#include <QNetworkRequest>
|
||||
#include <QUrlQuery>
|
||||
|
|
@ -126,6 +125,11 @@ void MeasurementDataManager::removeSubscriptionData(const QStringList& measureme
|
|||
buildSubscriptionRequest("stop", measurements);
|
||||
}
|
||||
|
||||
void MeasurementDataManager::stopSubscription()
|
||||
{
|
||||
//暂时不需要,m_webSocketClient析构的时候会断开链接xigous
|
||||
}
|
||||
|
||||
void MeasurementDataManager::processSubscriptionResponse(const QString& action, QNetworkReply* reply)
|
||||
{
|
||||
if(reply->error() == QNetworkReply::NoError)
|
||||
|
|
@ -286,10 +290,22 @@ void MeasurementDataManager::getSubscriptionRealtimeData()
|
|||
if(!m_webSocketClient->connectToServer(url))
|
||||
{
|
||||
QString errorMsg = QString("Connect to WebSocketServer failed");
|
||||
LOG_ERROR("WebSocket", errorMsg);
|
||||
LOG_ERROR("WebSocket-MeasurementData", errorMsg);
|
||||
}
|
||||
}
|
||||
|
||||
MeasurementDataPoint MeasurementDataManager::getLatestRealtimeData(const QString& dataID)
|
||||
{
|
||||
if(!m_dataCache.contains(dataID))
|
||||
return MeasurementDataPoint();
|
||||
|
||||
QVector<MeasurementDataPoint> result = m_dataCache.value(dataID)->getLatestData(1);
|
||||
if(result.size() > 0)
|
||||
return result.at(0);
|
||||
else
|
||||
return MeasurementDataPoint();
|
||||
}
|
||||
|
||||
void MeasurementDataManager::queryHistoricalEvents(const QString& dataID, const QDateTime& startTime, const QDateTime& endTime, const QString& step, const QString& type)
|
||||
{
|
||||
QUrl url = buildHistoricalQueryUrl(dataID, startTime, endTime, step, type);
|
||||
|
|
@ -360,7 +376,7 @@ void MeasurementDataManager::onReceiveRealtimeData(const QString& dataMsg)
|
|||
else
|
||||
{
|
||||
QString errorMsg = QString("Realtime measurementData reply Json 'payload' is not object: %1").arg(dataMsg);
|
||||
LOG_ERROR("WebSockt-MeasurementDat", errorMsg);
|
||||
LOG_ERROR("WebSockt-MeasurementData", errorMsg);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
|
|||
Loading…
Reference in New Issue