fix: 增加动量数据获取

master
Laixingyu 3 years ago
parent 1edf66f10e
commit eb675bf030

@ -16,7 +16,8 @@ SOURCES += \
ruoyi/ruoyidatamanager.cpp \ ruoyi/ruoyidatamanager.cpp \
userdata.cpp \ userdata.cpp \
widget/addtradedialog.cpp \ widget/addtradedialog.cpp \
widget/logindialog.cpp widget/logindialog.cpp \
widget/trendswidget.cpp
HEADERS += \ HEADERS += \
basedatamanager.h \ basedatamanager.h \
@ -26,12 +27,14 @@ HEADERS += \
structs.h \ structs.h \
userdata.h \ userdata.h \
widget/addtradedialog.h \ widget/addtradedialog.h \
widget/logindialog.h widget/logindialog.h \
widget/trendswidget.h
FORMS += \ FORMS += \
mainwindow.ui \ mainwindow.ui \
widget/addtradedialog.ui \ widget/addtradedialog.ui \
widget/logindialog.ui widget/logindialog.ui \
widget/trendswidget.ui
win32-msvc2010 { win32-msvc2010 {
SPEC = win32-msvc2010 SPEC = win32-msvc2010

@ -23,7 +23,7 @@ UserInfo BaseDataManager::Login(const QString &userName, const QString &password
return UserInfo(); return UserInfo();
} }
void BaseDataManager::GetTrends(QDate date,const QString& token) QList<QList<QString> > BaseDataManager::GetTrends(QDate date,const QString& token)
{ {
return QList<QList<QString> >();
} }

@ -15,7 +15,7 @@ public:
virtual QPixmap GetVerificationCode(); virtual QPixmap GetVerificationCode();
virtual UserInfo Login(const QString& userName,const QString& password,const QString& code); virtual UserInfo Login(const QString& userName,const QString& password,const QString& code);
virtual void GetTrends(QDate date,const QString& token); virtual QList<QList<QString> > GetTrends(QDate date,const QString& token);
signals: signals:
//请求结束 ret 返回值 0成功 非0失败 //请求结束 ret 返回值 0成功 非0失败

@ -23,11 +23,12 @@ MainWindow::~MainWindow()
void MainWindow::SetUserInfo(UserInfo user) void MainWindow::SetUserInfo(UserInfo user)
{ {
m_UserInfo = user; m_UserInfo = user;
ui->trends->SetUserInfo(user);
} }
void MainWindow::LoadTrendsData() void MainWindow::LoadTrendsData()
{ {
m_UserData.GetTrends(QDate(),m_UserInfo.token); ui->trends->LoadTrendsData();
} }
void MainWindow::InitTradeTable() void MainWindow::InitTradeTable()
@ -60,14 +61,5 @@ void MainWindow::on_addTrade_pushButton_clicked()
AddTradeDialog ad; AddTradeDialog ad;
ad.setWindowTitle("添加记录"); ad.setWindowTitle("添加记录");
ad.exec(); ad.exec();
// for (int row = 0; row < 4; ++row)
// {
// m_pTradeStandardModel->insertRow(row);
// for (int column = 0; column < 3; ++column) {
// QStandardItem *item = new QStandardItem(QString("row %0, column %1").arg(row).arg(column));
// m_pTradeStandardModel->setItem(row, column, item);
// }
// }
} }

@ -18,9 +18,9 @@
<item> <item>
<widget class="QTabWidget" name="tabWidget"> <widget class="QTabWidget" name="tabWidget">
<property name="currentIndex"> <property name="currentIndex">
<number>3</number> <number>0</number>
</property> </property>
<widget class="QWidget" name="trends"> <widget class="TrendsWidget" name="trends">
<attribute name="title"> <attribute name="title">
<string>动量趋势</string> <string>动量趋势</string>
</attribute> </attribute>
@ -166,6 +166,14 @@
</property> </property>
</action> </action>
</widget> </widget>
<customwidgets>
<customwidget>
<class>TrendsWidget</class>
<extends>QWidget</extends>
<header location="global">widget/trendswidget.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<resources/> <resources/>
<connections/> <connections/>
</ui> </ui>

@ -73,7 +73,7 @@ UserInfo RuoyiDataManager::Login(const QString &userName, const QString &passwor
return m_userInfo; return m_userInfo;
} }
void RuoyiDataManager::GetTrends(QDate date,const QString& token) QList<QList<QString> > RuoyiDataManager::GetTrends(QDate date,const QString& token)
{ {
QNetworkRequest request; QNetworkRequest request;
QString urlStr(m_sUrl + "/prod-api/stocksystem/trends/listSection"); QString urlStr(m_sUrl + "/prod-api/stocksystem/trends/listSection");
@ -100,6 +100,8 @@ void RuoyiDataManager::GetTrends(QDate date,const QString& token)
QEventLoop loop; QEventLoop loop;
connect(this, SIGNAL(ParseReplyFinished()), &loop, SLOT(quit())); connect(this, SIGNAL(ParseReplyFinished()), &loop, SLOT(quit()));
loop.exec(); loop.exec();
return m_TrendsList;
} }
void RuoyiDataManager::RequestFinished() void RuoyiDataManager::RequestFinished()
@ -211,7 +213,7 @@ void RuoyiDataManager::ParseTrends(QNetworkReply *reply)
else else
{ {
readAllArray = reply->readAll(); readAllArray = reply->readAll();
qDebug() << __FUNCTION__ << readAllArray; // qDebug() << __FUNCTION__ << readAllArray;
/** /**
* total: * total:
* rows:[{title:2,sortDataList:["煤炭","营销服务"]},{title:2023-12-07,sortDataList:["1","2"]}] * rows:[{title:2,sortDataList:["煤炭","营销服务"]},{title:2023-12-07,sortDataList:["1","2"]}]
@ -223,7 +225,7 @@ void RuoyiDataManager::ParseTrends(QNetworkReply *reply)
QJsonDocument document = QJsonDocument::fromJson(readAllArray,&jsonError); QJsonDocument document = QJsonDocument::fromJson(readAllArray,&jsonError);
if(jsonError.error == QJsonParseError::NoError && !document.isNull()) if(jsonError.error == QJsonParseError::NoError && !document.isNull())
{ {
QList< QList<QString> > rowsList; // QList< QList<QString> > rowsList;
QList<QString> dates; QList<QString> dates;
int rowCounts = 0; int rowCounts = 0;
QJsonObject root = document.object(); QJsonObject root = document.object();
@ -234,6 +236,7 @@ void RuoyiDataManager::ParseTrends(QNetworkReply *reply)
} }
if(root.contains("rows")) if(root.contains("rows"))
{ {
m_TrendsList.clear();
QJsonArray rows = root["rows"].toArray(); QJsonArray rows = root["rows"].toArray();
for(int i = 0 ; i < rowCounts; i++) for(int i = 0 ; i < rowCounts; i++)
{ {
@ -250,12 +253,12 @@ void RuoyiDataManager::ParseTrends(QNetworkReply *reply)
{ {
datasList.append(datas[c].toString()); datasList.append(datas[c].toString());
} }
rowsList.append(datasList); m_TrendsList.append(datasList);
} }
} }
rowsList.prepend(dates); m_TrendsList.prepend(dates);
} }
qDebug() << __FUNCTION__ << rowsList; // qDebug() << __FUNCTION__ << m_TrendsList;
} }
else else
{ {

@ -21,7 +21,7 @@ public:
QPixmap GetVerificationCode() override; QPixmap GetVerificationCode() override;
UserInfo Login(const QString& userName,const QString& password,const QString& code) override; UserInfo Login(const QString& userName,const QString& password,const QString& code) override;
void GetTrends(QDate date,const QString& token) override; QList<QList<QString> > GetTrends(QDate date,const QString& token) override;
public slots: public slots:
void RequestFinished(); void RequestFinished();
@ -36,6 +36,8 @@ private:
private: private:
QNetworkAccessManager* m_pNetworkManager; QNetworkAccessManager* m_pNetworkManager;
QString m_sUrl; QString m_sUrl;
QList< QList<QString> > m_TrendsList;
}; };
#endif // RUOYIDATAMANAGER_H #endif // RUOYIDATAMANAGER_H

@ -43,8 +43,9 @@ UserInfo UserData::Login(const QString &userName, const QString &password, const
return m_pDataManager->Login(userName,password,code); return m_pDataManager->Login(userName,password,code);
} }
void UserData::GetTrends(QDate date, const QString &token) QList<QList<QString> > UserData::GetTrends(QDate date, const QString &token)
{ {
if(m_pDataManager != nullptr) if(m_pDataManager != nullptr)
m_pDataManager->GetTrends(date,token); return m_pDataManager->GetTrends(date,token);
return QList<QList<QString> >();
} }

@ -18,7 +18,7 @@ public:
//登录 获取用户信息,同步等待 //登录 获取用户信息,同步等待
UserInfo Login(const QString& userName,const QString& password,const QString& code); UserInfo Login(const QString& userName,const QString& password,const QString& code);
//获取trends //获取trends
void GetTrends(QDate date,const QString& token); QList<QList<QString> > GetTrends(QDate date,const QString& token);
private: private:
BaseDataManager* m_pDataManager; BaseDataManager* m_pDataManager;

@ -0,0 +1,59 @@
#include "trendswidget.h"
#include "ui_trendswidget.h"
#include <QDebug>
TrendsWidget::TrendsWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::TrendsWidget)
{
ui->setupUi(this);
m_UserData.SetManagerType(ManagerType::Ruoyi);
model = new QStandardItemModel;
ui->tableView->setModel(model);
}
TrendsWidget::~TrendsWidget()
{
delete ui;
}
void TrendsWidget::SetUserData()
{
}
void TrendsWidget::SetUserInfo(UserInfo user)
{
m_UserInfo = user;
}
void TrendsWidget::LoadTrendsData()
{
// QList<QList<QString> > trends = m_UserData.GetTrends(QDate(),m_UserInfo.token);
// int rowCount = trends.count();
// int columnCount = 0;
// //更新到tableview中
// if(rowCount > 2)
// {
// model->insertRow(0);
// QList<QString> columns = trends[0];
// columnCount = columns.count();
// for (int column = 0; column < columnCount; ++column) {
// QStandardItem *item = new QStandardItem(columns[column]);
// model->setItem(0, column, item);
// }
// }
// rowCount = trends[1].count();
// QList<QString> row1List = trends[1];
// qDebug() << __FUNCTION__ << trends[1];
// for(int row = 1 ; row < rowCount; row++)
// {
// model->insertRow(row);
// for(int col = 0; col < columnCount; col++)
// {
// qDebug() << __FUNCTION__ << trends[row][col];
// QStandardItem *item = new QStandardItem(trends[row][col]);
// model->setItem(col, row, item);
// }
// }
}

@ -0,0 +1,31 @@
#ifndef TRENDSWIDGET_H
#define TRENDSWIDGET_H
#include <QWidget>
#include "userdata.h"
#include <QStandardItemModel>
namespace Ui {
class TrendsWidget;
}
class TrendsWidget : public QWidget
{
Q_OBJECT
public:
explicit TrendsWidget(QWidget *parent = nullptr);
~TrendsWidget();
//临时使用,后续需要重新创建
void SetUserData();
void SetUserInfo(UserInfo user);
void LoadTrendsData();
private:
Ui::TrendsWidget *ui;
UserData m_UserData;
UserInfo m_UserInfo;
QStandardItemModel* model;
};
#endif // TRENDSWIDGET_H

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>TrendsWidget</class>
<widget class="QWidget" name="TrendsWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>983</width>
<height>647</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QTableView" name="tableView"/>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
Loading…
Cancel
Save