refactor: establish standalone application boundary
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
# 切片 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.py`、`database.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 迁移。
|
||||
- 根级情绪引擎兼容模块、`DashboardService` 与 `ReviewDatabase` 兼容面继续保留;数据库内尚未迁移的
|
||||
选股统计方法仍走兼容别名,待切片 06 随完整方法一并归位。
|
||||
- 没有删除待定代码、没有改动根目录正式数据库、没有切换 Docker/NAS。
|
||||
Reference in New Issue
Block a user