添加自动化相关方法

This commit is contained in:
2025-10-16 16:22:12 +08:00
parent 5f5116a4a1
commit d82138e0e4
2 changed files with 120 additions and 26 deletions

52
pkg/rpc/automation.go Normal file
View File

@@ -0,0 +1,52 @@
package rpc
import (
"fmt"
"time"
)
// 自动化相关RPC
type Automation struct{}
// 获取自动化列表
func (a *Automation) GetList() (*[]AutomationTask, error) {
result := &Result[[]AutomationTask]{}
if err := GetRequest().Send("automation.list", map[string]any{}, result); err != nil {
return nil, err
}
if result.Code != 0 {
return nil, fmt.Errorf("%s", result.Message)
}
return &result.Data, nil
}
// 获取自动化详情
func (a *Automation) GetDetail(automationId uint32) (*AutomationTask, error) {
body := map[string]any{
"automation_id": automationId,
}
result := &Result[AutomationTask]{}
if err := GetRequest().Send("automation.detail", body, result); err != nil {
return nil, err
}
if result.Code != 0 {
return nil, fmt.Errorf("%s", result.Message)
}
return &result.Data, nil
}
// 更新条件最后执行时间
func (a *Automation) UpdateConditionLastExecuteTime(conditionId uint32, lastExecuteTime time.Time) error {
body := map[string]any{
"condition_id": conditionId,
"time": lastExecuteTime.Format(time.DateTime),
}
result := &Result[any]{}
if err := GetRequest().Send("automation.update_condition_last_execute_time", body, result); err != nil {
return err
}
if result.Code != 0 {
return fmt.Errorf("%s", result.Message)
}
return nil
}