feat: 素材智能视图筛选 + 标题使用次数闭环 #282

Merged
xiaoxia merged 8 commits from feat/smart-view-and-title-usage into develop 2026-07-14 09:53:07 +08:00
Owner

功能1:素材智能视图筛选

在 list_assets 接口新增 smart_view 查询参数,支持 6 种预设视图:

  • recommended:推荐(质量分 ≥ 80)
  • cautious:慎用(60 ≤ 质量分 < 80)
  • risky:高风险(质量分 < 60 或已被驳回)
  • unused:未使用过
  • used:已使用过
  • pending_review:待复核

基于现有 quality_score 字段 + metadata 中的 review_status / generation_use_count 实现。
与现有内存过滤路径集成,无破坏性变更。

功能2:标题使用次数闭环

  • 标题库 repository 新增 increment_usage_count 方法
  • 新增 IncrementTitleUsageUseCase
  • 生成任务成功后自动遍历 title_ids,逐个递增 usage_count
  • 异常兜底:计数失败不影响主流程,仅打 warning 日志

变更范围

6 个文件,105 行新增,3 行修改
无数据库变更,无需数据迁移

## 功能1:素材智能视图筛选 在 list_assets 接口新增 smart_view 查询参数,支持 6 种预设视图: - recommended:推荐(质量分 ≥ 80) - cautious:慎用(60 ≤ 质量分 < 80) - risky:高风险(质量分 < 60 或已被驳回) - unused:未使用过 - used:已使用过 - pending_review:待复核 基于现有 quality_score 字段 + metadata 中的 review_status / generation_use_count 实现。 与现有内存过滤路径集成,无破坏性变更。 ## 功能2:标题使用次数闭环 - 标题库 repository 新增 increment_usage_count 方法 - 新增 IncrementTitleUsageUseCase - 生成任务成功后自动遍历 title_ids,逐个递增 usage_count - 异常兜底:计数失败不影响主流程,仅打 warning 日志 ## 变更范围 6 个文件,105 行新增,3 行修改 无数据库变更,无需数据迁移
xiaoxia added 5 commits 2026-07-14 09:16:52 +08:00
1. 素材智能视图筛选(smart_view 参数)
   - 新增 list_assets 接口 smart_view 查询参数
   - 支持 6 种视图:recommended / cautious / risky / unused / used / pending_review
   - 基于 quality_score + metadata.review_status + metadata.generation_use_count 筛选
   - 与现有内存过滤路径集成,无破坏性变更

2. 标题使用次数闭环
   - 标题库 repository 新增 increment_usage_count 方法
   - 新增 IncrementTitleUsageUseCase
   - 生成任务成功后自动遍历 title_ids,逐个递增 usage_count
   - 异常兜底:计数失败不影响主流程,仅打 warning 日志
- PickTitleUseCase:优先使用次数少的,从前5个中随机选,兼顾公平和多样性
- 支持 category 过滤 + exclude_ids 排除(批量生成避免重复)
- 空库时返回 404 提示先添加标题
1. 分类任务完成后回填 metadata
   - classification / classification_confidence 写入 asset.metadata
   - 保留原有 metadata 字段,不覆盖

2. 素材列表新增 classification 筛选参数
   - 支持按内容分类筛选:person / scenic / product / food / tech 等
   - 走内存过滤路径,与现有筛选兼容
- 调用已有但未接入的 mark_asset_used_for_generation 函数
- generation_use_count + 1
- 记录 last_used_at 时间戳
- 首次使用自动标记为 pending_review 待复核
- 异常兜底:失败不影响主流程,仅打 warning 日志
chore: rebase到最新develop + 修复black格式
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 26s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 57s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (pull_request) Has been skipped
CI/CD Pipeline / Unit Tests (pull_request) Successful in 1m3s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m37s
42317a2508
xiaoxia force-pushed feat/smart-view-and-title-usage from 1229247cd9 to 42317a2508 2026-07-14 09:16:52 +08:00 Compare
Author
Owner

代码审计通过

8个文件/251行新增,改动小而聚焦。

审查要点确认:

  • 入参校验:smart_view 有正则pattern校验,classification无校验但仅内存过滤风险低
  • SQL注入:全ORM,无raw SQL
  • 异常处理:标题/素材使用次数更新双层try/catch兜底,不影响主流程
  • 代码结构:Route + UseCase + Repository 三层,符合现有规范
  • PickTitleUseCase 策略合理(使用次数最少的前5个中随机选,兼顾公平和多样性)

小建议(非阻断):

  • generation.py 内直接 SessionLocal() 创建 session,后续可考虑统一DI注入
  • 建议补充 PickTitleUseCase 和 IncrementTitleUsageUseCase 的单元测试
## ✅ 代码审计通过 8个文件/251行新增,改动小而聚焦。 **审查要点确认:** - ✅ 入参校验:smart_view 有正则pattern校验,classification无校验但仅内存过滤风险低 - ✅ SQL注入:全ORM,无raw SQL - ✅ 异常处理:标题/素材使用次数更新双层try/catch兜底,不影响主流程 - ✅ 代码结构:Route + UseCase + Repository 三层,符合现有规范 - ✅ PickTitleUseCase 策略合理(使用次数最少的前5个中随机选,兼顾公平和多样性) **小建议(非阻断):** - generation.py 内直接 SessionLocal() 创建 session,后续可考虑统一DI注入 - 建议补充 PickTitleUseCase 和 IncrementTitleUsageUseCase 的单元测试
xiaoxia added 1 commit 2026-07-14 09:20:02 +08:00
fix: 修复flake8 E731 lambda赋值问题
CI/CD Pipeline / Unit Tests (pull_request) Failing after 29s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m2s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 2m16s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m16s
f1df96d597
xiaoxia added 1 commit 2026-07-14 09:35:07 +08:00
fix: 修复被误改的review_status函数名
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Failing after 23s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 1m3s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m34s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m51s
6d5383943e
xiaoxia added 1 commit 2026-07-14 09:47:12 +08:00
fix: 修复智能视图中函数名拼写错误(单下划线→双下划线)
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Successful in 36s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 1m17s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m39s
CI/CD Pipeline / Build & Push Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m54s
3b1935b3ea
xiaoxia merged commit 295d7f0765 into develop 2026-07-14 09:53:07 +08:00
xiaoxia deleted branch feat/smart-view-and-title-usage 2026-07-14 09:53:08 +08:00
Sign in to join this conversation.