diff --git a/internal/service/scan.go b/internal/service/scan.go index 6618dcd..bf074c6 100644 --- a/internal/service/scan.go +++ b/internal/service/scan.go @@ -360,6 +360,11 @@ func (s *ScanService) runMove(ctx context.Context) { return } + // 移动完成后清空续传记录 + if err := s.store.ClearScanLog(); err != nil { + fmt.Printf("=== 清空续传记录失败: %v\n", err) + } + fmt.Println("=== 文件移动完成") s.finish(ScanDone, fmt.Sprintf("文件移动完成,共移动 %d 个文件", len(jobs))) } diff --git a/internal/store/store.go b/internal/store/store.go index 862a85e..09018ba 100644 --- a/internal/store/store.go +++ b/internal/store/store.go @@ -189,6 +189,15 @@ func (s *Store) SaveScanLogs(entries []ScanLog) error { return sess.Commit() } +// ClearScanLog 清空全部续传记录。移动完成后调用。 +func (s *Store) ClearScanLog() error { + if s == nil || s.engine == nil { + return nil + } + _, err := s.engine.Delete(new(ScanLog)) + return err +} + // ============================ 媒体记录的新增/更新 ============================ // SaveMedia 保存/更新一条媒体记录:按 MD5 找,有就更新,没有就新增。