Update 更新文档
This commit is contained in:
69
TradingCore/data_processing/BigOrderManager.h
Normal file
69
TradingCore/data_processing/BigOrderManager.h
Normal file
@@ -0,0 +1,69 @@
|
||||
#ifndef QBIGORDERMANAGER_H
|
||||
#define QBIGORDERMANAGER_H
|
||||
|
||||
#include <QObject>
|
||||
#include <QList>
|
||||
#include <QMap>
|
||||
#include <QMutex>
|
||||
#include <QSharedPointer>
|
||||
#include <QDateTime>
|
||||
#include <QFile>
|
||||
#include <QTimer>
|
||||
#include <atomic>
|
||||
#include <BZStruct.h>
|
||||
#include "qeventbus.h"
|
||||
|
||||
class QBigOrderManager : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
static QBigOrderManager* instance();
|
||||
static void destroy();
|
||||
|
||||
bool addBigOrder(const BigOrderInfo &order);
|
||||
QList<QSharedPointer<BigOrderInfo>> getAllBigOrders() const;
|
||||
QList<QSharedPointer<BigOrderInfo>> getBigOrdersByStock(const QString &stockCode) const;
|
||||
QList<QSharedPointer<BigOrderInfo>> getBigOrdersByType(const QString &orderType) const;
|
||||
|
||||
void setAutoSave(bool enabled);
|
||||
void setAutoSavePath(const QString &path);
|
||||
void setAutoSaveInterval(int hours);
|
||||
|
||||
QString m_historyPath;
|
||||
|
||||
signals:
|
||||
/*void bigOrderAdded(QSharedPointer<BigOrderItem> &order);
|
||||
void bigOrdersUpdated();*/
|
||||
|
||||
void bigOrderAdded(const BigOrderInfo &order); // 修改参数类型
|
||||
//void bigOrdersUpdated();
|
||||
void saveOverRefreshView();
|
||||
|
||||
void markBigOrderSignal();
|
||||
|
||||
protected:
|
||||
explicit QBigOrderManager(QObject *parent = nullptr);
|
||||
~QBigOrderManager();
|
||||
|
||||
private:
|
||||
static std::atomic<QBigOrderManager*> s_instance;
|
||||
static QMutex s_mutex;
|
||||
|
||||
mutable QMutex m_orderMutex;
|
||||
QList<QSharedPointer<BigOrderInfo>> m_bigOrders;
|
||||
//QMap<long long,int> m_bigOrderID;
|
||||
QSet<QString> m_bigOrderID;
|
||||
|
||||
QTimer* m_autoSaveTimer;
|
||||
QString m_autoSavePath;
|
||||
int m_autoSaveInterval = 5;
|
||||
bool m_autoSaveEnabled = true;
|
||||
|
||||
void saveToFile();
|
||||
void loadFromFile();
|
||||
void autoSave();
|
||||
void cleanupOldData(int maxDays = 30);
|
||||
|
||||
};
|
||||
|
||||
#endif // QBIGORDERMANAGER_H
|
||||
Reference in New Issue
Block a user