refactor: 清理未使用IPC命令、修正point_service注释与扣费逻辑、修复camelToSnake正则、优化vidu import

- 删除8个未使用IPC命令,保留validate_media_path
- file.rs返回类型优化为ApiResponse<()>
- point_service.consume()注释与签名一致
- VideoGeneration改为拼接成功后扣费
- 添加漏扣费风险注释
- 删除过时测试文件
- 修复camelToSnake连续大写字母问题
- vidu.py import移至模块顶层

Refs: P1-1~P1-6 技术债务清理
This commit is contained in:
小鱼开发
2026-05-14 17:45:28 +08:00
parent 7f2d61742e
commit 7550559aa0
40 changed files with 275 additions and 1731 deletions
+3 -3
View File
@@ -43,9 +43,9 @@
- `settle_consumption()` 查询批次条件是 `frozen > 0`**没有按 `source_id` 关联**
- 若用户同时有两个活跃预扣(如同时生成脚本+配音),结算时会互相影响
**4. 积分预估查询 API**
- `tts``video` 的积分依赖 `seconds` 参数,前端需要自己算
- 没有 `/points/cost?source_type=tts&seconds=10` 这样的接口
**4. 积分预估**
- `tts``video` 的积分依赖 `seconds` 参数,前端自行计算预估值
- ~~`/points/cost` 预估接口已删除~~,各业务前端根据 `points-config.yaml` 规则独立计算
**5. 过期回收未自动化**
- `expire_batches()` 已完整实现,但没有任何定时任务/调度器调用
+7 -17
View File
@@ -397,31 +397,21 @@ Redis 存储映射
返回 {task_id: internal_task_id}
```
### 4.4 字幕生成轮询(异步任务 + 轮询)
### 4.4 字幕打轴(同步阻塞 + 后端内部轮询)
当前前端调用 `POST /caption/ata/align`,后端同步阻塞等待结果(内部轮询最多 120 秒),直接返回打轴结果。
```
用户点击"生成字幕"
POST /caption/generate
POST /caption/ata/align
CaptionService.generate_caption(...)
CaptionService.auto_align_caption(...) 内部轮询
Task Gateway.submit(platform="volcengine_caption", ...)
返回 internal_task_id
前端轮询 /tasks/{id}/status
Gateway.query → Redis 命中 → 返回
Redis 未命中或 state=processing → 穿透供应商查询 → 更新 Redis
直接返回 {utterances, duration}
```
**轮询策略**(火山字幕):
- 第 1 次:t=0sblocking=0
- 第 2 次:t=1sblocking=0
- 第 3 次:t=3sblocking=0
- 第 4 次起:t=7s, 12s, 17s...blocking=1
> 注:`/caption/generate`、`/caption/submit` 等异步字幕接口已删除,当前仅保留 `/caption/ata/align` 同步打轴。
### 4.5 回调处理(Vidu 视频生成完成)