无数据修复

This commit is contained in:
曾志威
2026-05-13 20:23:13 +08:00
parent e6f6103f67
commit 2a3433feff
2 changed files with 19 additions and 8 deletions
+8 -1
View File
@@ -58,7 +58,11 @@ func (r *StockRepo) GetLatestTradeDate() (string, error) {
// 包括: 涨跌统计、涨停跌停列表、百日新高列表
// 使用单条聚合查询替代多次 COUNT 查询,提升性能
func (r *StockRepo) GetSummaryByDate(date string) (*model.DashboardSummary, error) {
summary := &model.DashboardSummary{}
summary := &model.DashboardSummary{
LimitUpList: []model.StockRank{},
LimitDownList: []model.StockRank{},
High100List: []model.StockRank{},
}
// 聚合统计: 总数、上涨、下跌、平盘、总成交额、平均涨跌幅
var agg struct {
@@ -157,6 +161,9 @@ func (r *StockRepo) GetHigh100ByDate(date string) ([]model.StockRank, error) {
LEFT JOIN stock_info si ON t.code = si.code
ORDER BY t.pct_change DESC
`, date, date, date).Scan(&list)
if list == nil {
list = []model.StockRank{}
}
return list, nil
}
+11 -7
View File
@@ -53,7 +53,11 @@ export default function Dashboard() {
);
}
if (!summary) return <div></div>;
if (!summary) return <div></div>;
const upList = summary.limit_up_list || [];
const downList = summary.limit_down_list || [];
const highList = summary.high_100_list || [];
return (
<div style={{ width: '100%' }}>
@@ -65,20 +69,20 @@ export default function Dashboard() {
</Card>
<div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 16 }}>
<Card title={`涨停 (${summary.limit_up_list.length}只)`} size="small">
<Card title={`涨停 (${upList.length}只)`} size="small">
<Table
columns={columns}
dataSource={summary.limit_up_list}
dataSource={upList}
rowKey="code"
pagination={{ pageSize: 50, size: 'small', showSizeChanger: false }}
size="small"
scroll={{ y: 400 }}
/>
</Card>
<Card title={`跌停 (${summary.limit_down_list.length}只)`} size="small">
<Card title={`跌停 (${downList.length}只)`} size="small">
<Table
columns={columns}
dataSource={summary.limit_down_list}
dataSource={downList}
rowKey="code"
pagination={{ pageSize: 50, size: 'small', showSizeChanger: false }}
size="small"
@@ -87,10 +91,10 @@ export default function Dashboard() {
</Card>
</div>
<Card title={`百日新高 (${summary.high_100_list.length}只)`} size="small" style={{ marginTop: 16 }}>
<Card title={`百日新高 (${highList.length}只)`} size="small" style={{ marginTop: 16 }}>
<Table
columns={columns}
dataSource={summary.high_100_list}
dataSource={highList}
rowKey="code"
pagination={{ pageSize: 50, size: 'small', showSizeChanger: false }}
size="small"