fix: video 模块与 continuation 状态更新

Co-Authored-By: Simon <simon@doorcome.cn>
This commit is contained in:
2026-06-17 20:48:42 +08:00
co-authored by Simon
parent 2f1d8b4d03
commit bb1a9c4470
3 changed files with 43 additions and 16 deletions
+19 -12
View File
@@ -2,7 +2,7 @@
## 当前项目状态
djapi — Django 5.2 金融数据 API 项目,2026-06-03 已部署。
djapi — Django 5.2 金融数据 API 项目,2026-06-17 已部署。
服务器:`simon@doorcome.cn`,路径 `/home/simon/myquant/djapi/`,虚拟环境 `/opt/miniconda/envs/django/`
@@ -20,37 +20,43 @@ djapi — Django 5.2 金融数据 API 项目,2026-06-03 已部署。
- `api/stock/config.py`:拆分为 config / strategy_config / scan_config
### 3. drf-spectacular 集成
- 15 端点 `@api_view` + `@extend_schema`8 tag 分组
- 14 端点 `@api_view` + `@extend_schema`8 tag 分组
- 13 SerializerSwagger `/api/docs/`
### 4. 新功能
- akshare 股息率 API`api/stock/getDivData_AK.py``GET /api/getdivak/`
### 4. 股息率 API 优化
- **删除** `api/stock/getDivData_AK.py`akshare 版)`/api/getdivak/` 路由移除
- **优化** `api/stock/getStockDiv2.py`
- TTM 计算:`calculate_ttm_div` 行级循环 O(n²) → `rolling('360D').sum()` O(n)
- 删除向前填充逻辑(~30 行),避免与毛刺平滑冲突
- **修复** `api/stock/smoothBrush.py`if/elif 分支中 prev_valid/next_valid 赋值反了
### 5. video 模块重构
### 5. video 模块重构与 Bug 修复
- 新增 `api/video/env.py` — .env 加载
- `newsRedo.py` 重写 — 三分支智能重处理
- **P0 修复**`getVideo5.py` 日期校验 bug`start_date > start_date``start_date > end_date`
- **P1 清理**:删除 `ai.py`(两个函数均为死代码),清理 `newsProcess.py` 冗余 import
- **P2 修复**`audioRead.py``transcribe_audio` 异常时返回 `['', '']` 统一类型;`analyze_and_correct_text` 防御 None
- **P3 修复**`newsProcess.py``news_to_db()` JSON 解析自适应 dict/listDeepSeek json_object 模式返回 dict 包装)
### 6. 文档与测试
- `CLAUDE.md``README.md``continuation.md`
- 18 个单元测试
## video 目录文件现状(9 个 .py
## video 目录文件现状(10 个 .py
| 文件 | 职责 |
|------|------|
| `env.py` | .env 加载 |
| `getVideo5.py` | 主流程:抓取→下载→ASR→入库 |
| `audioRead.py` | 音频转换、分割、ASR 识别 |
| `deepseek.py` | DeepSeek API 封装(类 + 函数 |
| `newsProcess.py` | AI 新闻分割+标题提取 |
| `audioRead.py` | 音频转换、分割、ASR 识别、文本纠错 |
| `deepseek.py` | DeepSeek API 封装(类 + `deepseek_text` 函数,支持 `response_format` |
| `newsProcess.py` | AI 新闻分割+标题提取JSON 自适应解析 |
| `newsRedo.py` | 手动重处理(三分支) |
| `main.py` | 定时任务入口(当天) |
| `main_videos.py` | 批量补缺(扫描缺失日期) |
| `mysqlHandle.py` | MySQLDB 重新导出 |
## 所有 API 端点(15 个)
## 所有 API 端点(14 个)
| 端点 | 数据源 | 说明 |
|------|--------|------|
@@ -65,8 +71,7 @@ djapi — Django 5.2 金融数据 API 项目,2026-06-03 已部署。
| `dailymargin/` | Tushare | 每日融资融券汇总 |
| `stockmargin/` | Tushare | 个股融资融券 |
| `finance/` | Tushare | 财务报表分析 |
| `getdiv/` | Tushare | 股息率 |
| `getdivak/` | akshare | 股息率(无需 token |
| `getdiv/` | Tushare | 股息率TTM rolling + 毛刺平滑) |
| `xwlbNews/` | MySQL | 新闻联播原始文本 |
| `xwlbFine/` | MySQL | 新闻联播 AI 精编 |
@@ -94,3 +99,5 @@ ssh simon@doorcome.cn "kill \$(lsof -ti:5004); sleep 2; /opt/miniconda/envs/djan
- video 模块保护、向后兼容优先、不使用 python-dotenv
- rsync 陷阱:多文件源会展平路径
- `.env` 双加载:Django 端 `djapi/env_loader.py` + video 端 `api/video/env.py`
- 股息率 TTM 用 `rolling('360D').sum()` 向量化,不手动循环
- DeepSeek json_object 模式返回 dictnewsProcess 自适应提取 list