feat:完成事件确认的操作逻辑
This commit is contained in:
parent
6c8f2e0618
commit
8e3239fe71
|
|
@ -32,7 +32,7 @@ signals:
|
|||
void realTimeEventReceived(const EventData& event);
|
||||
void historicalQueryError(const QString& msg);
|
||||
void historicalQueryData(const QList<EventData>& events);
|
||||
void confirmEventsResult(bool success, const QString& mesg);
|
||||
void confirmEventsResult(bool success, const QString& mesg, const QStringList& successUuids);
|
||||
|
||||
private slots:
|
||||
void onRabbitMQConnected();
|
||||
|
|
|
|||
|
|
@ -63,6 +63,8 @@ public:
|
|||
const int getMaxRealTimeEvents() const {return m_maxRealTimeEvents;}
|
||||
void setFilter(const AlarmEventDataFilter& filter);
|
||||
void refresh();
|
||||
void confirmEvent(const QModelIndex);
|
||||
void confirmCurPageEvents();
|
||||
|
||||
bool setCurrentPage(int);
|
||||
int currentPage() const;
|
||||
|
|
@ -81,7 +83,7 @@ private slots:
|
|||
void onRealTimeEventReceived(const EventData& event);
|
||||
void onHistoricalEventsReceived(const QList<EventData>& events);
|
||||
void onHistoricalQueryError(const QString&);
|
||||
void onConfirmEventsResult(bool success, const QString& mesg);
|
||||
void onConfirmEventsResult(bool success, const QString& mesg, const QStringList& successUuids);
|
||||
|
||||
private:
|
||||
void iniHeaderData();
|
||||
|
|
@ -102,6 +104,8 @@ private:
|
|||
AlarmDataMode m_dataMode;
|
||||
AlarmEventDataFilter m_currentFilter;
|
||||
int m_maxRealTimeEvents;
|
||||
|
||||
//QMap<qint64, QVector<QModelIndex>> m_confirmedEvents;
|
||||
};
|
||||
|
||||
class AlarmEventDataDelegate : public QStyledItemDelegate
|
||||
|
|
|
|||
|
|
@ -45,6 +45,7 @@ private slots:
|
|||
|
||||
public slots:
|
||||
void onBtnClicked_close();
|
||||
void onBtnClicked_confirmAll();
|
||||
|
||||
void onBtnClicked_firstPage();
|
||||
void onBtnClicked_previousPage();
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ private:
|
|||
|
||||
void writeToFile(const QString&);
|
||||
void rollLogFiles(); //当文件大小超过设置上线时会触发'滚动'
|
||||
QString formatLogMessage(LogLevel, const QString&, const QString&);
|
||||
QString fromatLogMessage(LogLevel, const QString&, const QString&);
|
||||
|
||||
struct LogEntry
|
||||
{
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@ void AlarmEventDataService::queryHistoricalEvents(const QDateTime& startTime, co
|
|||
void AlarmEventDataService::confirmEvents(const QStringList& uuids)
|
||||
{
|
||||
QUrl url = buildConfirmEventsUrl();
|
||||
if(url.isValid())
|
||||
if(!url.isValid())
|
||||
return;
|
||||
|
||||
//创建网络请求
|
||||
|
|
@ -404,6 +404,7 @@ void AlarmEventDataService::onHistoricalRequestFinished(QNetworkReply* reply)
|
|||
|
||||
void AlarmEventDataService::onConfirmEventsRequestFinished(QNetworkReply* reply)
|
||||
{
|
||||
QStringList successUuids;
|
||||
if(reply->error() == QNetworkReply::NoError)
|
||||
{
|
||||
QByteArray data = reply->readAll();
|
||||
|
|
@ -413,20 +414,33 @@ void AlarmEventDataService::onConfirmEventsRequestFinished(QNetworkReply* reply)
|
|||
if(parseError.error == QJsonParseError::NoError && doc.isObject())
|
||||
{
|
||||
QJsonObject docObj = doc.object();
|
||||
int code = docObj.value("code").toInt();
|
||||
if(code == 0)
|
||||
emit confirmEventsResult(true, "");
|
||||
else
|
||||
emit confirmEventsResult(false, QString("确认事件失败, error code = %1").arg(QString::number(code)));
|
||||
QJsonValue dataValue = docObj.value("data");
|
||||
if(dataValue.isObject())
|
||||
{
|
||||
QJsonObject dataObj = dataValue.toObject();
|
||||
QJsonValue uuidValue = dataObj.value("success_uuids");
|
||||
if(uuidValue.isArray())
|
||||
{
|
||||
QJsonArray uuidArray = uuidValue.toArray();
|
||||
for(const QJsonValue& value : uuidArray)
|
||||
{
|
||||
if(value.isString())
|
||||
successUuids.append(value.toString());
|
||||
}
|
||||
|
||||
emit confirmEventsResult(true, "", successUuids);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
emit confirmEventsResult(false, QString("确认事件失败(Json错误)"));
|
||||
|
||||
emit confirmEventsResult(false, QString("确认事件失败(Json错误)"), successUuids);
|
||||
}
|
||||
else
|
||||
{
|
||||
QString errorMsg = QString("ConfirmEvents error: %1").arg(reply->errorString());
|
||||
LOG_ERROR("Http", errorMsg);
|
||||
emit confirmEventsResult(false, QString("确认事件失败(%1)").arg(errorMsg));
|
||||
emit confirmEventsResult(false, QString("确认事件失败(%1)").arg(errorMsg), successUuids);
|
||||
}
|
||||
|
||||
reply->deleteLater();
|
||||
|
|
|
|||
|
|
@ -282,6 +282,23 @@ void AlarmEventDataModel::updateEventData(int index, const EventData& updatedEve
|
|||
emit dataChanged(modelIndex, modelIndex);
|
||||
}
|
||||
|
||||
void AlarmEventDataModel::confirmEvent(const QModelIndex index)
|
||||
{
|
||||
int row = index.row();
|
||||
QString uuid = m_displayEvents.at(row).id;
|
||||
QStringList uuids;
|
||||
uuids.append(uuid);
|
||||
AlarmEventDataService::instance()->confirmEvents(uuids);
|
||||
}
|
||||
|
||||
void AlarmEventDataModel::confirmCurPageEvents()
|
||||
{
|
||||
QStringList uuids;
|
||||
for(const EventData& event : m_displayEvents)
|
||||
uuids.append(event.id);
|
||||
AlarmEventDataService::instance()->confirmEvents(uuids);
|
||||
}
|
||||
|
||||
void AlarmEventDataModel::updateCurPageData()
|
||||
{
|
||||
m_displayEvents.clear();
|
||||
|
|
@ -420,13 +437,33 @@ void AlarmEventDataModel::onHistoricalQueryError(const QString& error)
|
|||
emit loadDataError(error);
|
||||
}
|
||||
|
||||
void AlarmEventDataModel::onConfirmEventsResult(bool success, const QString& mesg)
|
||||
void AlarmEventDataModel::onConfirmEventsResult(bool success, const QString& mesg, const QStringList& successUuids)
|
||||
{
|
||||
if(!success)
|
||||
{
|
||||
return;
|
||||
}
|
||||
//从列表中进行删除
|
||||
|
||||
if(m_dataMode == RealTime)
|
||||
{
|
||||
beginResetModel();
|
||||
|
||||
for(const QString& uuid : successUuids)
|
||||
{
|
||||
for(EventData& event : m_displayEvents)
|
||||
{
|
||||
if(event.id == uuid)
|
||||
{
|
||||
event.status = 3;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
endResetModel();
|
||||
}
|
||||
else
|
||||
refresh();
|
||||
}
|
||||
|
||||
bool AlarmEventDataModel::setCurrentPage(int page)
|
||||
|
|
@ -697,7 +734,8 @@ AlarmEventDataView::~AlarmEventDataView()
|
|||
|
||||
void AlarmEventDataView::onBtnClicked_Confirm(const QModelIndex& index)
|
||||
{
|
||||
qDebug() << QString("confirmBtnClicked, row: %1").arg(index.row());
|
||||
//qDebug() << QString("confirmBtnClicked, row: %1").arg(index.row());
|
||||
m_tableModel->confirmEvent(index);
|
||||
}
|
||||
|
||||
void AlarmEventDataView::onBtnClicked_Replay(const QModelIndex& index)
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ AlarmEventMainDialog::AlarmEventMainDialog(QWidget *parent)
|
|||
connect(m_tableView->model(), &AlarmEventDataModel::loadDataError, this, &AlarmEventMainDialog::onLoadDataError);
|
||||
|
||||
connect(ui->btnClose, &QPushButton::clicked, this, &AlarmEventMainDialog::onBtnClicked_close);
|
||||
connect(ui->btnConfirmAll, &QPushButton::clicked, this, &AlarmEventMainDialog::onBtnClicked_confirmAll);
|
||||
|
||||
connect(ui->btnFirstPage, &QPushButton::clicked, this, &AlarmEventMainDialog::onBtnClicked_firstPage);
|
||||
connect(ui->btnPreviousPage, &QPushButton::clicked, this, &AlarmEventMainDialog::onBtnClicked_previousPage);
|
||||
|
|
@ -231,6 +232,11 @@ void AlarmEventMainDialog::onBtnClicked_close()
|
|||
emit sgl_hide();
|
||||
}
|
||||
|
||||
void AlarmEventMainDialog::onBtnClicked_confirmAll()
|
||||
{
|
||||
m_tableView->model()->confirmCurPageEvents();
|
||||
}
|
||||
|
||||
void AlarmEventMainDialog::onBtnClicked_firstPage()
|
||||
{
|
||||
m_tableView->model()->firstPage();
|
||||
|
|
|
|||
|
|
@ -190,6 +190,7 @@ void AlarmEventRealTimeDock::onBtnClicked_close()
|
|||
void AlarmEventRealTimeDock::onBtnClicked_confirmAll()
|
||||
{
|
||||
//stopAlarmAlert();
|
||||
m_tableView->model()->confirmCurPageEvents();
|
||||
}
|
||||
|
||||
void AlarmEventRealTimeDock::onBtnClicked_checkAll()
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ void Logger::rollLogFiles()
|
|||
qWarning() << "Failed to open new log file after rolling:" << m_logFile.errorString();
|
||||
}
|
||||
|
||||
QString Logger::formatLogMessage(LogLevel level, const QString& context, const QString& message)
|
||||
QString Logger::fromatLogMessage(LogLevel level, const QString& context, const QString& message)
|
||||
{
|
||||
static const char* levelStrings[] = {"FATAL", "ERROR", "WARNING", "INFO", "DEBUG"};
|
||||
return QString("[%1] [%2] [%3] %4")
|
||||
|
|
@ -156,7 +156,7 @@ void Logger::log(LogLevel level, const QString& context, const QString& message)
|
|||
if(level > m_logLevel)
|
||||
return;
|
||||
|
||||
QString formatMessage = formatLogMessage(level, context, message);
|
||||
QString formatMessage = fromatLogMessage(level, context, message);
|
||||
if(m_outputToConsole)
|
||||
QTextStream(stderr) << formatMessage << Qt::endl;
|
||||
if(m_outputOtFile)
|
||||
|
|
|
|||
Loading…
Reference in New Issue