46 lines
1.5 KiB
C++
46 lines
1.5 KiB
C++
#pragma once
|
|
#include "CommonScript.h"
|
|
#include <QDateTime>
|
|
#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
|