#pragma once #include "CommonScript.h" #include #include "db/DeviceInfo.h" #include "db/BankProfileInfo.h" namespace Ozon { class GetLastTransactionsScript final : public CommonScript { Q_OBJECT public: explicit GetLastTransactionsScript( QString deviceId, QString appCode, int maxCount = 0, double searchAmount = 0, QDateTime searchTime = {}, QObject *parent = nullptr ); ~GetLastTransactionsScript() override; protected: void doStart() override; private: // Навигация до экрана "Операции", возвращает true если успешно bool navigateToTransactionList(const DeviceInfo &device, const BankProfileInfo &app); // Сканирование последних транзакций (для UI: 24ч или maxCount) void scanRecentTransactions(const DeviceInfo &device, int accountId); // Поиск конкретной транзакции по сумме и времени (для задач FETCH_TRANSACTIONS) void searchTransaction(const DeviceInfo &device, int accountId); QString m_deviceId; const QString m_appCode; const int m_maxCount; // 0 = фильтр по 24ч, >0 = N последних const double m_searchAmount; // сумма в рублях (0 = не искать конкретную) const QDateTime m_searchTime; // примерное время (UTC) QString m_error; }; } // namespace Ozon