Files
xiaobaifupan/app/docs/migration/evidence/slice-03/README.md
T

4.2 KiB
Raw Blame History

切片 03:情绪周期、五类股池与涨停表现

基线:a426432(切片 02 回档标签:xiaobai-preservation-slice-03-20260731 结论:源码、API、数据库、真实页面和浏览器回归通过;最终视觉仍等待全站人工验收

1. 原实现归位

本切片只移动原版副本中的真实实现,没有从 next/ 取用代码,也没有改写情绪公式、股池数据、 原因补全、表格、样式或交互。

原位置 新的唯一实现位置 原位置兼容
app/backend/application.py 的 2 个情绪服务方法 app/backend/features/sentiment/service.py DashboardService 继承 SentimentServiceMixin
app/backend/application.py 的 6 个股池原因及事件补全方法 app/backend/features/pools/service.py DashboardService 继承 PoolServiceMixin
app/database.py 的 2 个原因覆盖方法 app/backend/features/pools/repository.py ReviewDatabase 继承 PoolRepositoryMixin
app/sentiment_engine.py app/backend/features/sentiment/engine.py 根模块为同一模块对象的兼容别名

五类股池、涨停梯队和涨停表现仍由切片 02 已归位的原 Tushare 总览实现生成,本切片没有建立第二套 计算或数据来源。

2. 等价证据

  • test_preservation_slice_sentiment_pools.py 对 8 个业务方法和 2 个 Repository 方法逐项执行无位置 信息 AST 比较,全部与根目录原版 server.pydatabase.py 完全相同。
  • 新的情绪引擎文件与原版 sentiment_engine.py SHA-256 完全相同;根级兼容模块与新模块是同一模块对象。
  • 已归位的应用、行情服务、Tushare Provider、演示数据和选股模块直接导入新的唯一实现;Tushare Provider 仅调整该导入,其全部类和函数 AST 继续与原版一致。
  • 原版 8784 与迁移版 8785 在相同账号、日期和数据库副本上请求 /api/dashboard/api/sentiment/history,JSON 状态、字段、值和顺序完全相同。
  • 2026-07-30 的同请求结果均为:涨停 56、炸板 23、跌停 83、昨日涨停 81、情绪历史 20 日。
  • 原版和迁移版数据库均为 62 个 schema 对象,schema 哈希均为 17918327f8b919496e6630458293f9f777c7c24662625bb3fc0b64ff0a8fbeef
  • config/api.config.json、API 路径、鉴权和 app/static/ 未修改。
  • app-light-1920x1080.png 是真实迁移服务载入完成后的情绪周期页面,SHA-256 为 e387417abbe0667e00875a8d4061b5546748ecf2452a692d06d078d516330dab

3. 真实运行检查

  • 迁移副本:http://127.0.0.1:8785/,管理员会话与缓存行情载入正常。
  • 情绪周期:20 个连续交易日、当前阶段、评分构成和交易日明细均完整显示。
  • 股池:涨停池 56 行、炸板池 23 行、跌停池 83 行、昨日涨停 81 行。
  • 涨停表现:四档晋级率、市场宽度和今日结论均显示原版结果。
  • 1920×1080 下六个页面横向溢出均为 0;日间、夜间背景与面板状态正常;浏览器控制台无迁移错误。

4. 自动验证

验证 结果
python -m unittest discover -s tests -q 248 项通过
python -m unittest tests.test_preservation_slice_sentiment_pools -q 6 项通过
情绪、总览、缓存、iFinD 与前端契约专项集合 48 项通过
npx.cmd playwright test --reporter=dot 45 项通过
python -m compileall -q ... 通过
git diff --check 通过

Windows 下由 Playwright 自行创建临时静态服务器时,45 项完成后子进程无法回收;改为预先启动同一个 8876 静态服务器并让 Playwright 复用后,测试以零退出码正常结束,结果为 45 passed (2.1m)

5. 保留边界

  • 板块轮动仍调用情绪历史公共函数,待切片 04 与市场天梯一并归位。
  • 竞价、题材、人气和龙虎榜对股池数据的消费保持原调用路径,待切片 05 迁移。
  • 根级情绪引擎兼容模块、DashboardServiceReviewDatabase 兼容面继续保留;数据库内尚未迁移的 选股统计方法仍走兼容别名,待切片 06 随完整方法一并归位。
  • 没有删除待定代码、没有改动根目录正式数据库、没有切换 Docker/NAS。