update backend

This commit is contained in:
toom1996
2026-09-20 01:06:13 +08:00
parent f7ae917603
commit b99dc3dca1
115 changed files with 24732 additions and 10842 deletions

View File

@ -6,14 +6,14 @@ import (
"gorm.io/gorm"
)
// MediaRepository 跨表图片引用计数(清理七牛孤儿文件的判定依据)。
// MediaRepository 跨表图片引用计数(清理S4孤儿文件的判定依据)。
//
// 七牛 key 为 sha1 内容寻址:同一张图若出现在多个图集/草稿里,在库中是同一个 key。
// 因此删除图集时绝不能「删库即删七牛」——必须先确认该 key 在全库已无任何引用,
// S4 key 为 sha1 内容寻址:同一张图若出现在多个图集/草稿里,在库中是同一个 key。
// 因此删除图集时绝不能「删库即删S4」——必须先确认该 key 在全库已无任何引用,
// 否则会误删被其他图集仍在用的图片。本接口提供唯一权威的引用计数查询。
type MediaRepository interface {
// CountImageKeyRefs 统计某七牛 key 在全部图片明细表中仍被引用的数量(is_deleted=0)。
// 返回 0 表示该 key 已成孤儿,可安全删除七牛对象。
// CountImageKeyRefs 统计某S4 key 在全部图片明细表中仍被引用的数量(is_deleted=0)。
// 返回 0 表示该 key 已成孤儿,可安全删除S4对象。
CountImageKeyRefs(ctx context.Context, key string) (int, error)
}
@ -26,7 +26,7 @@ func NewMediaRepository(db *gorm.DB) MediaRepository {
return &mediaRepository{db: db}
}
// imageTables 保存七牛 key 的全部图片明细表(已晋升的正式表 + 待审草稿表)。
// imageTables 保存S4 key 的全部图片明细表(已晋升的正式表 + 待审草稿表)。
// 引用计数必须覆盖这 4 张,漏掉任意一张都会把「仍被引用」误判为孤儿而误删。
var imageTables = []string{
"brand_runway_images",