SHA256
无数据修复
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user