fix: 增加动量数据获取

master
Laixingyu 3 years ago
parent 1edf66f10e
commit eb675bf030

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

@ -23,7 +23,7 @@ UserInfo BaseDataManager::Login(const QString &userName, const QString &password
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 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:
//请求结束 ret 返回值 0成功 非0失败

@ -23,11 +23,12 @@ MainWindow::~MainWindow()
void MainWindow::SetUserInfo(UserInfo user)
{
m_UserInfo = user;
ui->trends->SetUserInfo(user);
}
void MainWindow::LoadTrendsData()
{
m_UserData.GetTrends(QDate(),m_UserInfo.token);
ui->trends->LoadTrendsData();
}
void MainWindow::InitTradeTable()
@ -60,14 +61,5 @@ void MainWindow::on_addTrade_pushButton_clicked()
AddTradeDialog ad;
ad.setWindowTitle("添加记录");
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>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>3</number>
<number>0</number>
</property>
<widget class="QWidget" name="trends">
<widget class="TrendsWidget" name="trends">
<attribute name="title">
<string>动量趋势</string>
</attribute>
@ -166,6 +166,14 @@
</property>
</action>
</widget>
<customwidgets>
<customwidget>
<class>TrendsWidget</class>
<extends>QWidget</extends>
<header location="global">widget/trendswidget.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>

@ -73,7 +73,7 @@ UserInfo RuoyiDataManager::Login(const QString &userName, const QString &passwor
return m_userInfo;
}
void RuoyiDataManager::GetTrends(QDate date,const QString& token)
QList<QList<QString> > RuoyiDataManager::GetTrends(QDate date,const QString& token)
{
QNetworkRequest request;
QString urlStr(m_sUrl + "/prod-api/stocksystem/trends/listSection");
@ -100,6 +100,8 @@ void RuoyiDataManager::GetTrends(QDate date,const QString& token)
QEventLoop loop;
connect(this, SIGNAL(ParseReplyFinished()), &loop, SLOT(quit()));
loop.exec();
return m_TrendsList;
}
void RuoyiDataManager::RequestFinished()
@ -211,7 +213,7 @@ void RuoyiDataManager::ParseTrends(QNetworkReply *reply)
else
{
readAllArray = reply->readAll();
qDebug() << __FUNCTION__ << readAllArray;
// qDebug() << __FUNCTION__ << readAllArray;
/**
* total:
* 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);
if(jsonError.error == QJsonParseError::NoError && !document.isNull())
{
QList< QList<QString> > rowsList;
// QList< QList<QString> > rowsList;
QList<QString> dates;
int rowCounts = 0;
QJsonObject root = document.object();
@ -234,6 +236,7 @@ void RuoyiDataManager::ParseTrends(QNetworkReply *reply)
}
if(root.contains("rows"))
{
m_TrendsList.clear();
QJsonArray rows = root["rows"].toArray();
for(int i = 0 ; i < rowCounts; i++)
{
@ -250,12 +253,12 @@ void RuoyiDataManager::ParseTrends(QNetworkReply *reply)
{
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
{

@ -21,7 +21,7 @@ public:
QPixmap GetVerificationCode() 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:
void RequestFinished();
@ -36,6 +36,8 @@ private:
private:
QNetworkAccessManager* m_pNetworkManager;
QString m_sUrl;
QList< QList<QString> > m_TrendsList;
};
#endif // RUOYIDATAMANAGER_H

@ -43,8 +43,9 @@ UserInfo UserData::Login(const QString &userName, const QString &password, const
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)
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);
//获取trends
void GetTrends(QDate date,const QString& token);
QList<QList<QString> > GetTrends(QDate date,const QString& token);
private:
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