提供文件操作类utils内容

This commit is contained in:
2025-12-04 18:45:25 +08:00
parent 3707f519fe
commit d7ba7747ec
10 changed files with 669 additions and 16 deletions

View File

@@ -12,6 +12,10 @@ import (
// OtaRepository 定义了与 OTA 升级任务相关的数据库操作接口。
type OtaRepository interface {
// Create 创建一个新的 OTA 任务。
Create(ctx context.Context, task *models.OTATask) error
// FindByID 根据任务 ID 查找任务。
FindByID(ctx context.Context, id uint32) (*models.OTATask, error)
// FindTasksByStatusesAndCreationTime 根据状态列表和创建时间查找任务。
FindTasksByStatusesAndCreationTime(ctx context.Context, statuses []models.OTATaskStatus, createdBefore time.Time) ([]*models.OTATask, error)
// Update 更新单个 OTA 任务。
@@ -32,6 +36,20 @@ func NewGormOtaRepository(ctx context.Context, db *gorm.DB) OtaRepository {
}
}
// Create 实现了创建新 OTA 任务的逻辑。
func (r *gormOtaRepository) Create(ctx context.Context, task *models.OTATask) error {
repoCtx := logs.AddFuncName(ctx, r.ctx, "Create")
return r.db.WithContext(repoCtx).Create(task).Error
}
// FindByID 实现了根据 ID 查找任务的逻辑。
func (r *gormOtaRepository) FindByID(ctx context.Context, id uint32) (*models.OTATask, error) {
repoCtx := logs.AddFuncName(ctx, r.ctx, "FindByID")
var task models.OTATask
err := r.db.WithContext(repoCtx).First(&task, id).Error
return &task, err
}
// FindTasksByStatusesAndCreationTime 实现了根据状态和创建时间查找任务的逻辑。
func (r *gormOtaRepository) FindTasksByStatusesAndCreationTime(ctx context.Context,
statuses []models.OTATaskStatus,