feat: 整合 fuyao/tickflow 数据源 + 市场页面焕新(看板/自选/龙虎榜/连板/概念/行业/热股) - #16
Merged
Merged
Conversation
- app/utils/data_sources/:扶摇/TickFlow REST 客户端 + dump 三档取数 + tushare 口径归一化层 - daily_history_fuyao / financial_fuyao / stock_basic_fuyao 三个下载作业(与 tushare 版同表可选生产者) - /api/market/* 行情 API(快照/看板/指数/龙虎榜/竞价风向标,30s 缓存 + 本地 Parquet 降级) - /api/datasources/status 数据源健康探测(tickflow 档位判定) - AI 工具的 source→凭证检查泛化;registry 新增 3 个 fuyao 作业
- 引入 Tailwind 3.4(关 preflight 与 Bootstrap 共存),语义 token 体系 (锌灰中性底 + 项目靛蓝 accent + 红涨绿跌 + mono 数字),随 data-theme 双主题 - 薄组件层:Card/PageHeader/SectionTitle/Badge/Delta/KpiCell/Modal/EmptyState - @tanstack/react-query 接入(新页面独享);主题持久化 + index.html 防闪白 - 新页面 lazy 分割:市场看板(实时宽度/分布/榜单,30s 轮询)、自选行情 (5s 快照轮询、localStorage 分组)、龙虎榜+竞价风向标(真实字段适配)、 数据源中心(三源健康探测 + 数据集→生产者映射) - 浏览器实测通过;修复 token 命名冲突(base→canvas)、指数占位符崩溃、 龙虎榜字段对齐、Delta 双重符号
- 扶摇新增涨停池/连板天梯/同花顺指数目录·成分股端点;TickFlow 新增标的维表(free 档,补全站股票名称) - StockNameRegistry:stock_basic + TickFlow 维表合并名称兜底,parquet 缓存 7 天 - BoardMarketService:涨停池/天梯/板块排行/成分股聚合,TTL 缓存 + 过期回供 - market_api 新增 /limit-up/pool、/limit-up/ladder、/boards、/boards/constituents - 前端新增连板天梯(KPI+天梯矩阵+涨停池)、概念分析、行业分析(板块排行+成分股联动)三页 - 自选行情/龙虎榜/市场看板榜单个股可点击跳转 /stock/:tsCode 详情 - 测试:客户端/服务/API 契约 26 个新用例,全量回归仅剩 master 既有 5 失败
- fuyao 新增跌停池/炸板池/热股榜/飙升榜/标的检索端点 - board_market_service:三池通用获取器(泛化缓存+过期回供)、热榜聚合、检索透传 - market_api 新增 /limit-down/pool、/limit-break/pool、/hot-stocks、/ticker-search - 连板天梯页:六格 KPI(跌停/炸板/炸板率)+ 涨停/跌停/炸板三池 tab 切换 - 新增热股榜单页(热股榜+飙升榜 Top30,当日/小时榜切换,排名变化着色) - 自选页支持名称搜索添加(防抖联想 + 点击加入,已持有标的自动过滤) - 测试:12 个新用例,全量回归仅剩 master 既有 5 失败
🔴 #1 financial_fuyao._read_existing_partition 回退口径与 save_to_parquet 不一致('.' vs _default_data_root),DATA_DIR 未设置时读不到已有分区, 分块 flush 互相覆盖静默丢数据。统一回退 + 回归测试锁定行为。 🟡 #2 龙虎榜/竞价缓存加 TTL:date=None(最近发布日)5 分钟,指定历史日 24h;两种键都设 64 条容量上限。get_indices 补 10s 缓存 + 失败回供。 🟡 #3 BoardMarketService 无界缓存加容量上限(池 64/成分股 128/检索 128); 缓存读取与写入双侧深拷贝,杜绝调用方改动污染缓存(review 指出浅拷贝 脆弱,测试证实写入侧同样存在别名泄漏,已一并修复并加行为测试)。 🟡 #4 DumpStore memo 注明仅限单进程生命周期(当前 job 走 subprocess 无影响)。 🟢 expected_latest_period 改用北京时间(非东八区部署披露截止判断会偏一天); fuyao_normalize 移除死变量 keep_cols;snapshot_rows_to_stock_basic 对 缺 name 列的旧表加防御。 新增 5 个行为测试;全量回归 556 通过,仅剩 master 既有 5 失败。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概述
按设计方案(f903d148)完成两期开发:扶摇/TickFlow 数据源整合(独立于 tushare,互不污染)与市场类前端页面焕新,共 5 个提交、548+ 新测试断言全部通过。
后端:数据源整合(0a9e19ee)
detect_tier判档;定位为校验与名称兜底源,不做批量任务daily_history_fuyao(10d dump→10年 dump→单标的兜底三级策略,tushare 同 schema 落 parquet)、financial_fuyao(披露日历推报告期)、stock_basic_fuyao,注册进数据任务中心后端:市场服务与 API(本分支后续提交)
MarketSnapshotService:看板/快照/龙虎榜/风向标聚合,TTL 缓存 + 扶摇异常降级本地 parquet(标 degraded)StockNameRegistry:stock_basic + TickFlow 维表合并名称兜底(parquet 缓存 7 天),解决快照无名称问题BoardMarketService:涨停/跌停/炸板三池(通用获取器,历史日永久缓存)、连板天梯、同花顺行业/概念板块排行与成分股、热股榜/飙升榜、标的检索;全部带 TTL 缓存 + 1 小时过期回供/api/market新增 13 个端点(dashboard/indices/dragon-tiger/limit-up·down·break/boards/hot-stocks/ticker-search 等)+/api/datasources/status三源健康探测前端:新设计体系 + 7 个市场页面(b10da6c7 → 38eae0a)
/stock/:tsCode详情页测试与验证
npm run build通过;浏览器逐页实测:真实数据渲染、tab 切换、搜索联想添加自选、个股跳详情、降级提示均验证通过风险与说明
.env已含 FUYAO/TICKFLOW key(不入库,仅本地);dump 缓存与名称缓存写入data/cache/(gitignore 内)