diff --git a/internal/infra/repository/pending_task_repository.go b/internal/infra/repository/pending_task_repository.go index 786c361..ceae6bb 100644 --- a/internal/infra/repository/pending_task_repository.go +++ b/internal/infra/repository/pending_task_repository.go @@ -126,7 +126,10 @@ func (r *gormPendingTaskRepository) ClaimNextAvailableTask(excludePlanIDs []uint return err } - if err := tx.Preload("Task").First(&log, pendingTask.TaskExecutionLogID).Error; err != nil { + // 关键修改:在 Preload("Task") 时,使用 Unscoped() 来忽略 Task 的软删除状态 + if err := tx.Preload("Task", func(db *gorm.DB) *gorm.DB { + return db.Unscoped() + }).First(&log, pendingTask.TaskExecutionLogID).Error; err != nil { return err }