From b6281ba6bcce64cda924dc37f9a0a06905ac4842 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=BF=E4=BA=91=E7=A7=8B=E6=9C=88?= <15273589815@163.com> Date: Sun, 13 Sep 2026 21:15:43 +0800 Subject: [PATCH] =?UTF-8?q?=EF=BB=BFdocs(40):=20=E6=8A=8A=E8=A1=8C?= =?UTF-8?q?=E6=83=85=E5=90=8C=E6=AD=A5=E5=88=97=E4=B8=BA=E4=B8=8B=E5=8D=95?= =?UTF-8?q?=E5=89=8D=E5=BF=85=E8=B7=91=E7=9A=84=E5=89=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 全流程验收时踩到:不跑 tools/sync_market_prices.py 就下单,只有 2 只产品有行情、 其余直接 503,而且错误信息只说"行情已过期",看不出根因。把它写进第 0 节, 并说明数据源(腾讯行情 / 东财只有行情类域名不可达)与总份额口径。 --- docs/40-前端验收清单.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/40-前端验收清单.md b/docs/40-前端验收清单.md index d00c7d9..17da9a3 100644 --- a/docs/40-前端验收清单.md +++ b/docs/40-前端验收清单.md @@ -22,6 +22,7 @@ | 0-4 | **虚拟资金账户** | `python -m tools.seed_sim_account_demo` | 客户 9001 开 10 万初始资金 + 2 只持仓。
**不跑这步,`/customer/dashboard/` 与 `/customer/cash-ledger/` 必然打不开**(404「客户未开户」)✅实测 | | 0-5 | 风控 Agent 配置 | `python tools/publish_risk_agent_config.py` | `risk_overview`/`risk_search`/`risk_evidence` 三个工具生效 ✅实测 | | 0-6 | **Agent Worker(必开!)** | `python -m app.worker` | **不启动它,所有客服对话都会"超时"** —— 见下方说明 | +| 0-7 | **场内行情同步** | `python tools/sync_market_prices.py` | 下单的硬前置。**不跑它:只有 2 只产品有行情,其余下单直接 503**;行情过期后同理(见下方说明) | ### ⚠️ 0-6 为什么是"必开"而不是"必停" @@ -36,12 +37,27 @@ Agent 请求是**三段式**:API 受理(返回 202)→ **Worker 领单执 排查第一步永远是:查 `agent_run` 最新那行的 `status` 是不是 `queued`。 +### ⚠️ 0-7 为什么下单前必须跑行情同步 + +`fin_market_price` 是下单的硬前置:`TradeService` 要求该产品在这张表里有 +`close_price > 0`、`total_fund_shares > 0`,且 `source_updated_at` 落在 `MAX_QUOTE_AGE` 内。 +**行情过期后没有任何自动刷新机制** —— 表现是下单全线 `503 FUND_QUOTE_UNAVAILABLE`, +而错误信息只说"某产品行情已过期",看不出根因。 + +跑一次 `python tools/sync_market_prices.py` 同时解决两件事: +补齐行情(原本只有 2 只有)+ 把时间戳刷到当前(让新鲜度校验通过)。 + +> 数据源是**腾讯行情**(`qt.gtimg.cn`):东财的 push2 / push2his 两个行情域名在本环境 +> 实测连不上,而它的净值/概况域名正常 —— 即东财只有行情类接口不可达。 +> 总份额按「已有值 → 腾讯总市值推算 → 季度规模兜底」确定,都拿不到就跳过该产品。 + ```powershell # 一次性把前置跑齐(两个终端) python tools/seed_test_rbac.py python tools/set_user_password.py python -m tools.seed_sim_account_demo python tools/publish_risk_agent_config.py +python tools/sync_market_prices.py # ← 下单前必跑 # 终端 1:API python -m uvicorn app.main:app --host 127.0.0.1 --port 8000