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
|
|
|
}
|