后端:素材上传后 asset_libraries.asset_count 同步维护并支持重算 #1776

Closed
opened 2026-09-07 22:06:11 +08:00 by xiaoxia · 0 comments
Owner

背景

素材上传完成后,asset_libraries.asset_count 没有可靠同步,导致素材库列表计数错误;部分老库实际有素材但计数为 0。批量上传、重试和删除场景也可能造成计数漂移。

修复要求

  1. 素材新增、删除、软删除、移动或加入/移除素材库时,在同一事务中维护 asset_libraries.asset_count;如采用异步重算,必须保证幂等和最终一致。
  2. 批量上传、接口重试、失败补偿不得重复计数。
  3. 提供计数重算脚本或管理命令:
    • 先支持 dry-run,输出每个库的当前计数、实际计数和差异;
    • 确认后再执行修正;
    • 不自动删除任何素材或素材库。
  4. 补充新增、删除、批量、并发、重试场景测试。

验收标准

  • 上传 1 个素材到指定库,asset_count 正确 +1。
  • 删除/移除素材后正确 -1,不出现负数。
  • 批量上传 10 个、中途重试,最终计数与实际素材数一致。
  • 重算脚本 dry-run 能准确发现差异,执行后计数恢复正确。
  • PR 目标分支为 develop,禁止合并 main
## 背景 素材上传完成后,`asset_libraries.asset_count` 没有可靠同步,导致素材库列表计数错误;部分老库实际有素材但计数为 0。批量上传、重试和删除场景也可能造成计数漂移。 ## 修复要求 1. 素材新增、删除、软删除、移动或加入/移除素材库时,在同一事务中维护 `asset_libraries.asset_count`;如采用异步重算,必须保证幂等和最终一致。 2. 批量上传、接口重试、失败补偿不得重复计数。 3. 提供计数重算脚本或管理命令: - 先支持 dry-run,输出每个库的当前计数、实际计数和差异; - 确认后再执行修正; - 不自动删除任何素材或素材库。 4. 补充新增、删除、批量、并发、重试场景测试。 ## 验收标准 - 上传 1 个素材到指定库,`asset_count` 正确 +1。 - 删除/移除素材后正确 -1,不出现负数。 - 批量上传 10 个、中途重试,最终计数与实际素材数一致。 - 重算脚本 dry-run 能准确发现差异,执行后计数恢复正确。 - PR 目标分支为 `develop`,禁止合并 `main`。
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: xiaoxia/xiaoxia-saas#1776