update backend
This commit is contained in:
@ -30,7 +30,7 @@ type StreetSnapService interface {
|
||||
SetCover(ctx context.Context, snapID uint32, image string) error
|
||||
// SetDeleted 上下架:deleted=1 下架,0 上架。
|
||||
SetDeleted(ctx context.Context, id uint32, deleted uint8) error
|
||||
// PurgeGallery 彻底下架街拍:级联软删图片 + 下架 + 异步入队清理七牛孤儿图。
|
||||
// PurgeGallery 彻底下架街拍:级联软删图片 + 下架 + 异步入队清理S4孤儿图。
|
||||
PurgeGallery(ctx context.Context, id uint32) error
|
||||
}
|
||||
|
||||
@ -39,7 +39,7 @@ type streetSnapService struct {
|
||||
media repository.MediaRepository
|
||||
img *imgurl.Composer
|
||||
deleter storage.Deleter
|
||||
cleaner MediaCleanupEnqueuer // 删除图集时异步清理七牛孤儿图的入队入口
|
||||
cleaner MediaCleanupEnqueuer // 删除图集时异步清理S4孤儿图的入队入口
|
||||
}
|
||||
|
||||
// NewStreetSnapService 创建街拍服务。
|
||||
@ -209,7 +209,7 @@ func (s *streetSnapService) UpdateSnap(ctx context.Context, id uint32, fields ma
|
||||
}
|
||||
|
||||
func (s *streetSnapService) DeleteImage(ctx context.Context, imageID uint32) error {
|
||||
// 先取 key(删除前清理七牛孤儿用),再软删 DB 行,最后按引用计数决定是否真删七牛文件。
|
||||
// 先取 key(删除前清理S4孤儿用),再软删 DB 行,最后按引用计数决定是否真删S4文件。
|
||||
key, err := s.repo.GetSnapImageKey(ctx, imageID)
|
||||
if err != nil {
|
||||
return err
|
||||
@ -229,14 +229,14 @@ func (s *streetSnapService) SetCover(ctx context.Context, snapID uint32, image s
|
||||
|
||||
func (s *streetSnapService) SetDeleted(ctx context.Context, id uint32, deleted uint8) error {
|
||||
if deleted == 1 {
|
||||
// 下架街拍:软删图片 + 置下架 + 异步入队清理七牛孤儿图(见 PurgeGallery)。
|
||||
// 下架街拍:软删图片 + 置下架 + 异步入队清理S4孤儿图(见 PurgeGallery)。
|
||||
return s.PurgeGallery(ctx, id)
|
||||
}
|
||||
// 上架(deleted=0)仅恢复图集行,不动图片/不清理(图片若已删不可恢复,属预期)。
|
||||
return s.repo.SetSnapDeleted(ctx, id, 0)
|
||||
}
|
||||
|
||||
// PurgeGallery 下架街拍并异步清理七牛孤儿图:逻辑同 articleService.PurgeGallery,
|
||||
// PurgeGallery 下架街拍并异步清理S4孤儿图:逻辑同 articleService.PurgeGallery,
|
||||
// 仅仓储调用换成街拍的 SoftDeleteSnapImages / SetSnapDeleted。
|
||||
func (s *streetSnapService) PurgeGallery(ctx context.Context, id uint32) error {
|
||||
keys, err := s.repo.SoftDeleteSnapImages(ctx, id)
|
||||
@ -248,7 +248,7 @@ func (s *streetSnapService) PurgeGallery(ctx context.Context, id uint32) error {
|
||||
}
|
||||
if len(keys) > 0 && s.cleaner != nil {
|
||||
if err := s.cleaner.EnqueueMediaCleanup(ctx, keys); err != nil {
|
||||
log.Printf("[warn] 下架街拍 %d 入队清理七牛失败(文件将暂留): %v", id, err)
|
||||
log.Printf("[warn] 下架街拍 %d 入队清理S4失败(文件将暂留): %v", id, err)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
|
||||
Reference in New Issue
Block a user