Added handling for event types (Balance, Phone) and respective processing logic in EventHandler. Introduced support for tracking and updating event statuses both locally and through network APIs. Enhanced data integrity and clarity by expanding the EventInfo model and associated database management.
63 lines
1.3 KiB
C++
63 lines
1.3 KiB
C++
#pragma once
|
|
#include <qhttpmultipart.h>
|
|
#include <QNetworkAccessManager>
|
|
#include <QObject>
|
|
#include <QMap>
|
|
|
|
class NetworkService final : public QObject {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit NetworkService(QObject *parent = nullptr);
|
|
|
|
~NetworkService() override;
|
|
|
|
void setPayload(const QByteArray &json) { m_json = json; }
|
|
|
|
void setDeviceId(const QString &deviceId) {
|
|
m_deviceId = deviceId;
|
|
}
|
|
|
|
void addExtra(const QString &key, const QVariant &value);
|
|
|
|
public slots:
|
|
void postAccountsData();
|
|
|
|
void getPayments();
|
|
|
|
void postAppStatus();
|
|
|
|
void postEventStatus();
|
|
|
|
void insertTransactionData();
|
|
|
|
void updateTransactionData();
|
|
|
|
void start();
|
|
void stop();
|
|
|
|
signals:
|
|
void finished();
|
|
|
|
private:
|
|
QByteArray m_json;
|
|
QString m_deviceId;
|
|
QString m_desktopId;
|
|
QMap<QString, QVariant> m_extraData = {};
|
|
bool m_running = true;
|
|
|
|
QString m_urlAccountUpdate;
|
|
QString m_urlPaymentsGet;
|
|
QString m_urlTransactionUpdate;
|
|
QString m_urlAppStatusUpdate;
|
|
QString m_urlTransactionInsert;
|
|
QString m_urlEventStatusUpdate;
|
|
|
|
QNetworkAccessManager *m_manager;
|
|
|
|
|
|
QJsonValue post(QHttpMultiPart *multiPart, const QString &path);
|
|
|
|
QJsonArray get(const QString &path, const QMap<QString, QString> ¶ms);
|
|
};
|