fix(HEL-494): 数据中枢独占调度,主网站不再回退旧接口

主网站只向中枢要业务数据;来源选择、切源、补数全部在中枢内部完成,失败不再走东财/腾讯/Tushare 保底。

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: multica-agent <github@multica.ai>
This commit is contained in:
总工
2026-09-08 21:43:31 +08:00
co-authored by Cursor multica-agent
parent ef13d6feb5
commit 0b8419abca
23 changed files with 1159 additions and 368 deletions
+20 -3
View File
@@ -1,5 +1,6 @@
from __future__ import annotations
import copy
import sys
from pathlib import Path
@@ -69,13 +70,29 @@ RAW = {
"sw_daily": [
{"ts_code": "801780.SI", "trade_date": "20240902", "name": "银行", "open": 2000, "high": 2010, "low": 1990, "close": 2005, "pct_change": 0.8, "vol": 50, "amount": 2e8},
],
"stk_limit": [
{"ts_code": "600000.SH", "trade_date": "20240902", "up_limit": 11.22, "down_limit": 9.18},
{"ts_code": "000001.SZ", "trade_date": "20240902", "up_limit": 12.21, "down_limit": 9.99},
],
"index_member_all": [
{
"l2_code": "801780.SI",
"l2_name": "银行",
"ts_code": "600000.SH",
"name": "浦发银行",
"in_date": "20140101",
"out_date": "",
"is_new": "Y",
}
],
"hm_list": [{"name": "测试游资", "desc": "测试", "orgs": "某某营业部"}],
}
def fake_transport(api_name: str, params: dict, fields: str):
if api_name == "index_daily":
code = params.get("ts_code")
rows = [row for row in RAW["index_daily"] if row["ts_code"] == code]
rows = [copy.deepcopy(row) for row in RAW["index_daily"] if row["ts_code"] == code]
trade_date = str(params.get("trade_date") or "")
start = str(params.get("start_date") or "")
end = str(params.get("end_date") or "")
@@ -89,8 +106,8 @@ def fake_transport(api_name: str, params: dict, fields: str):
if api_name == "trade_cal":
start = str(params.get("start_date") or "")
end = str(params.get("end_date") or "99999999")
return [row for row in RAW["trade_cal"] if start <= row["cal_date"] <= end]
rows = list(RAW.get(api_name) or [])
return [copy.deepcopy(row) for row in RAW["trade_cal"] if start <= row["cal_date"] <= end]
rows = copy.deepcopy(list(RAW.get(api_name) or []))
if api_name == "limit_list_d":
limit_type = str(params.get("limit_type") or "")
if limit_type: