Implemented `EventWindow` for viewing events with pagination and table-based UI. Added database migration to remove `UNIQUE` constraint on `external_id` in `events`. Enhanced DAO methods for event retrieval, pagination, and transaction updates. Integrated OCR recognition in transaction scripts and streamlined event handling in services.
40 lines
1.4 KiB
C++
40 lines
1.4 KiB
C++
#pragma once
|
|
#include "db/TransactionInfo.h"
|
|
|
|
class TransactionDAO {
|
|
public:
|
|
[[nodiscard]] static bool insertTransactionIfNotExists(const TransactionInfo &info);
|
|
|
|
[[nodiscard]] static int insertTransaction(const TransactionInfo &info);
|
|
|
|
[[nodiscard]] static bool deleteTransaction(int id);
|
|
|
|
[[nodiscard]] static QList<TransactionInfo> getTransactions(int accountId);
|
|
|
|
[[nodiscard]] static bool updateTransaction(const TransactionInfo &info);
|
|
|
|
[[nodiscard]] static bool updateTransactionStatus(int id, TransactionStatus status);
|
|
|
|
[[nodiscard]] static TransactionInfo getTransactionById(int id);
|
|
|
|
[[nodiscard]] static QList<TransactionInfo> getTransactionsWithinHours(int accountId, int hours);
|
|
|
|
[[nodiscard]] static QList<TransactionInfo> getLastTransactions(int accountId, int limit);
|
|
|
|
[[nodiscard]] static bool updateTransaction(
|
|
int id, TransactionStatus status,
|
|
const QString &oldDesc,
|
|
const QString &newDesc
|
|
);
|
|
|
|
[[nodiscard]] static bool updateExternalTransactionId(int id, int externalId);
|
|
|
|
[[nodiscard]] static bool updateBankTrExternalId(int id, const QString &bankTrExternalId);
|
|
|
|
[[nodiscard]] static bool updateReceiptImage(int id, const QByteArray &image);
|
|
|
|
// Найти транзакцию по bank_name + bank_time + amount
|
|
[[nodiscard]] static TransactionInfo findByBankTimeAndAmount(
|
|
int accountId, const QString &bankName, const QString &bankTime, double amount);
|
|
};
|