diff --git a/backend/routes/stock.py b/backend/routes/stock.py index 470954b..e427948 100644 --- a/backend/routes/stock.py +++ b/backend/routes/stock.py @@ -201,12 +201,20 @@ async def stock_fund_flow( if not data: raise HTTPException(status_code=404, detail="未获取到资金流向数据") - # 从腾讯 K 线补充成交额/收盘价/涨跌幅 + # 从腾讯 K 线补充收盘价/涨跌幅 kline_map = await tencent.fetch_kline_map(code, days) + # 从东方财富 K 线补充成交额(腾讯 fqkline 不含成交额字段) + em_klines = await eastmoney.fetch_kline_history(code, days) + em_kline_map = {} + if em_klines: + for k in em_klines: + if k.get("turnover"): + em_kline_map[k["date"]] = k["turnover"] for d in data: ki = kline_map.get(d["date"], {}) if d.get("turnover", 0) == 0: - d["turnover"] = ki.get("turnover", 0) + # 优先从东方财富 kline 拿成交额,其次腾讯 + d["turnover"] = em_kline_map.get(d["date"], ki.get("turnover", 0)) if d.get("closePrice", 0) == 0: d["closePrice"] = ki.get("close", 0) if d.get("changePercent", 0) == 0: