Files
goodBaby/drivers/rainyun/runner.go
T
mei 9b656cebee
Quality check / Web UI (push) Successful in 9m19s
feat(gateway): 优化gateway相关功能
2026-09-12 15:32:27 +08:00

55 lines
1.2 KiB
Go

package rainyun
import (
"context"
"fmt"
"github.com/ssdomei232/goodBaby/model"
)
// RainyunWorkorderExecutor 雨云工单执行器
type RainyunWorkorderExecutor struct{}
func (e *RainyunWorkorderExecutor) GetType() string {
return RuleTypeWorkOrder
}
func (e *RainyunWorkorderExecutor) Execute(ctx context.Context, task *model.RuleTask) error {
account, err := ParseAccountConfig(task.AccountConfig())
if err != nil {
return err
}
config, err := ParseWorkOrderConfig(task.Rule.ConfigJson)
if err != nil {
return err
}
return SendWorkOrder(ctx, account, config)
}
// RainyunRunAwayExecutor 雨云跑路执行器
type RainyunRunAwayExecutor struct{}
func (e *RainyunRunAwayExecutor) GetType() string {
return RuleTypeRunAway
}
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)
}