Files
goodBaby/drivers/rainyun/runner.go
T

55 lines
1.2 KiB
Go
Raw Normal View History

2026-08-13 09:13:10 +08:00
package rainyun
import (
"context"
2026-09-12 15:32:27 +08:00
"fmt"
2026-08-13 09:13:10 +08:00
"github.com/ssdomei232/goodBaby/model"
)
2026-09-12 15:32:27 +08:00
// RainyunWorkorderExecutor 雨云工单执行器
2026-08-13 09:13:10 +08:00
type RainyunWorkorderExecutor struct{}
func (e *RainyunWorkorderExecutor) GetType() string {
2026-08-30 16:03:32 +08:00
return RuleTypeWorkOrder
2026-08-13 09:13:10 +08:00
}
2026-09-12 15:32:27 +08:00
func (e *RainyunWorkorderExecutor) Execute(ctx context.Context, task *model.RuleTask) error {
account, err := ParseAccountConfig(task.AccountConfig())
if err != nil {
return err
}
2026-08-13 09:13:10 +08:00
2026-09-12 15:32:27 +08:00
config, err := ParseWorkOrderConfig(task.Rule.ConfigJson)
if err != nil {
return err
}
return SendWorkOrder(ctx, account, config)
2026-08-13 09:13:10 +08:00
}
2026-08-13 14:50:08 +08:00
// RainyunRunAwayExecutor 雨云跑路执行器
type RainyunRunAwayExecutor struct{}
func (e *RainyunRunAwayExecutor) GetType() string {
2026-08-30 16:03:32 +08:00
return RuleTypeRunAway
2026-08-13 14:50:08 +08:00
}
2026-09-12 15:32:27 +08:00
func (e *RainyunRunAwayExecutor) Execute(ctx context.Context, task *model.RuleTask) error {
account, err := ParseAccountConfig(task.AccountConfig())
if err != nil {
return err
}
// 跑路规则只要求用户填一句免责声明,执行时重新校验一次
config, err := ParseRunAwayConfig(task.Rule.ConfigJson)
if err != nil {
return err
}
if config.IK != runAwayConfirmText {
return fmt.Errorf("请输入正确内容")
}
return RunAway(ctx, account)
2026-08-13 14:50:08 +08:00
}