diff --git a/include/alarmEventDataService.h b/include/alarmEventDataService.h index ed21bd7..a09c7c7 100644 --- a/include/alarmEventDataService.h +++ b/include/alarmEventDataService.h @@ -18,6 +18,7 @@ class QTimer; class AlarmEventDataService : public QObject { Q_OBJECT + Q_DISABLE_COPY(AlarmEventDataService) //禁止拷贝,等价于:AlarmEventDataService(const AlarmEventDataService&) = delete; AlarmEventDataService& operator=(const AlarmEventDataService&) = delete; public: static AlarmEventDataService* instance(); @@ -29,7 +30,7 @@ public: signals: void realTimeEventReceived(const EventData& event); void historicalQueryError(const QString& msg); - void historicalQuertData(const QList& events); + void historicalQueryData(const QList& events); private slots: void onRabbitMQConnected(); diff --git a/include/alarmEventDataView.h b/include/alarmEventDataView.h index 7b4eca0..87113a5 100644 --- a/include/alarmEventDataView.h +++ b/include/alarmEventDataView.h @@ -84,6 +84,7 @@ signals: private slots: void onTimeoutSimulateData(); void onRealTimeEventReceived(const EventData& event); + void onHistoricalEventsReceived(const QList& events); private: void iniHeaderData(); diff --git a/source/alarmEventDataService.cpp b/source/alarmEventDataService.cpp index 88b7bec..fee527d 100644 --- a/source/alarmEventDataService.cpp +++ b/source/alarmEventDataService.cpp @@ -233,10 +233,10 @@ void AlarmEventDataService::processHistoricalResponse(const QByteArray& data) QJsonObject eventObj = eventValue.toObject(); EventData event = EventData::fromJson(eventObj); - if(!event.id.isEmpty()) + if(validateEvent(event)) historicalEvents.append(event); } - emit historicalQuertData(historicalEvents); + emit historicalQueryData(historicalEvents); } } diff --git a/source/alarmEventDataView.cpp b/source/alarmEventDataView.cpp index 6497e4c..35f91cc 100644 --- a/source/alarmEventDataView.cpp +++ b/source/alarmEventDataView.cpp @@ -1,4 +1,5 @@ #include "alarmEventDataView.h" +#include "alarmEventDataService.h" #include #include #include @@ -28,6 +29,8 @@ AlarmEventDataModel::AlarmEventDataModel(AlarmDataMode mode, QObject* parent) m_paginationInfo.totalEntries = 0; iniHeaderData(); + connect(AlarmEventDataService::instance(), &AlarmEventDataService::realTimeEventReceived, this, &AlarmEventDataModel::onRealTimeEventReceived); + connect(AlarmEventDataService::instance(), &AlarmEventDataService::historicalQueryData, this, &AlarmEventDataModel::onHistoricalEventsReceived); //实时数据测试 m_simulatedDataTimer = new QTimer(this); connect(m_simulatedDataTimer, &QTimer::timeout, this, &AlarmEventDataModel::onTimeoutSimulateData); @@ -349,6 +352,11 @@ void AlarmEventDataModel::onRealTimeEventReceived(const EventData& event) emit receivedNewAlarm(event); } +void AlarmEventDataModel::onHistoricalEventsReceived(const QList& events) +{ + +} + bool AlarmEventDataModel::setCurrentPage(int page) { if(m_paginationInfo.currentPage != page && page > 0 && page <= m_paginationInfo.totalPages)