GetDeviceThresholdAlarm

GetAreaThresholdAlarm
This commit is contained in:
2025-11-10 17:50:05 +08:00
parent f2b0c2987f
commit f44a94b451
3 changed files with 101 additions and 5 deletions

View File

@@ -69,25 +69,22 @@ type PlanRepository interface {
FlattenPlanTasks(ctx context.Context, planID uint) ([]models.Task, error)
// DeleteTask 根据ID删除任务
DeleteTask(ctx context.Context, id int) error
// FindTaskByID 根据ID获取任务的基本信息
FindTaskByID(ctx context.Context, id int) (*models.Task, error)
// FindPlanAnalysisTaskByParamsPlanID 根据Parameters中的ParamsPlanID字段值查找TaskPlanAnalysis类型的Task
FindPlanAnalysisTaskByParamsPlanID(ctx context.Context, paramsPlanID uint) (*models.Task, error)
// FindRunnablePlans 获取所有应执行的计划
FindRunnablePlans(ctx context.Context) ([]*models.Plan, error)
// FindInactivePlans 获取所有已禁用或已停止的计划
FindInactivePlans(ctx context.Context) ([]*models.Plan, error)
// FindPlanAnalysisTaskByPlanID 根据 PlanID 找到其关联的 'plan_analysis' 任务
FindPlanAnalysisTaskByPlanID(ctx context.Context, planID uint) (*models.Task, error)
// CreatePlanAnalysisTask 创建一个 plan_analysis 类型的任务并返回它
CreatePlanAnalysisTask(ctx context.Context, plan *models.Plan) (*models.Task, error)
// FindPlansWithPendingTasks 查找所有正在执行的计划
FindPlansWithPendingTasks(ctx context.Context) ([]*models.Plan, error)
// StopPlanTransactionally 停止一个计划的执行,包括更新状态、移除待执行任务和更新执行日志
StopPlanTransactionally(ctx context.Context, planID uint) error
// UpdatePlanStateAfterExecution 更新计划执行后的状态(计数和状态)
UpdatePlanStateAfterExecution(ctx context.Context, planID uint, newCount uint, newStatus models.PlanStatus) error
}
@@ -870,3 +867,14 @@ func (r *gormPlanRepository) UpdateExecuteCount(ctx context.Context, id uint, co
}
return nil
}
// FindTaskByID 根据ID获取任务的基本信息
func (r *gormPlanRepository) FindTaskByID(ctx context.Context, id int) (*models.Task, error) {
repoCtx := logs.AddFuncName(ctx, r.ctx, "FindTaskByID")
var task models.Task
result := r.db.WithContext(repoCtx).First(&task, id)
if result.Error != nil {
return nil, result.Error
}
return &task, nil
}