chore: 暂存
This commit is contained in:
parent
b243d03226
commit
15c3febe76
|
|
@ -7,10 +7,12 @@ import (
|
|||
errors "ai_scheduler/internal/data/error"
|
||||
"ai_scheduler/internal/data/impl"
|
||||
"ai_scheduler/internal/data/model"
|
||||
"ai_scheduler/internal/domain/workflow/zltx"
|
||||
"ai_scheduler/internal/entitys"
|
||||
"ai_scheduler/internal/gateway"
|
||||
"ai_scheduler/internal/pkg/l_request"
|
||||
"ai_scheduler/internal/pkg/mapstructure"
|
||||
"ai_scheduler/internal/pkg/util"
|
||||
"ai_scheduler/internal/tools"
|
||||
"ai_scheduler/internal/tools_bot"
|
||||
"context"
|
||||
|
|
@ -110,6 +112,8 @@ func (r *Handle) HandleMatch(ctx context.Context, client *gateway.Client, requir
|
|||
return r.handleKnowle(ctx, requireData, pointTask)
|
||||
case constants.TaskTypeBot:
|
||||
return r.handleBot(ctx, requireData, pointTask)
|
||||
case constants.TaskTypeEinoWorkflow:
|
||||
return r.handleEinoWorkflow(ctx, requireData, pointTask)
|
||||
default:
|
||||
return r.handleOtherTask(ctx, requireData)
|
||||
}
|
||||
|
|
@ -265,11 +269,31 @@ func (r *Handle) handleApiTask(ctx context.Context, requireData *entitys.Require
|
|||
err = errors.NewBusinessErr(422, "api地址获取失败")
|
||||
return
|
||||
}
|
||||
|
||||
entitys.ResLoading(requireData.Ch, requireData.Task.Index, "正在请求数据")
|
||||
|
||||
res, err := request.Send()
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
entitys.ResJson(requireData.Ch, "", res.Text)
|
||||
entitys.ResJson(requireData.Ch, requireData.Task.Index, res.Text)
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// eino 工作流
|
||||
func (r *Handle) handleEinoWorkflow(ctx context.Context, requireData *entitys.RequireData, task *model.AiTask) (err error) {
|
||||
// token 写入ctx
|
||||
ctx = util.SetTokenToContext(ctx, requireData.Auth)
|
||||
|
||||
// 构建工作流 - todo 示例,后续抽象出来
|
||||
zltxWorkflow, err := zltx.BuildOrderAfterResellerBatchWorkflow(ctx, r.conf.Tools.ZltxOrderAfterSaleResellerBatch)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
// 工作流执行
|
||||
_, err = zltxWorkflow.Invoke(ctx, zltx.OrderAfterSaleResellerBatchWorkflowInput{})
|
||||
|
||||
return
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,10 +11,11 @@ const (
|
|||
type TaskType int32
|
||||
|
||||
const (
|
||||
TaskTypeApi TaskType = 1
|
||||
TaskTypeKnowle TaskType = 2
|
||||
TaskTypeFunc TaskType = 3
|
||||
TaskTypeBot TaskType = 4
|
||||
TaskTypeApi TaskType = 1
|
||||
TaskTypeKnowle TaskType = 2
|
||||
TaskTypeFunc TaskType = 3
|
||||
TaskTypeBot TaskType = 4
|
||||
TaskTypeEinoWorkflow TaskType = 5 // eino 工作流
|
||||
)
|
||||
|
||||
type UseFul int32
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
package workflow
|
||||
|
|
@ -10,12 +10,10 @@ import (
|
|||
)
|
||||
|
||||
type OrderAfterSaleResellerBatchWorkflowInput struct {
|
||||
Token string `json:"token"`
|
||||
OrderNumber []string `json:"orderNumber"`
|
||||
}
|
||||
|
||||
var ErrInvalidOrderNumbers = errors.New("orderNumber 不能为空")
|
||||
var ErrMissingToken = errors.New("token 不能为空")
|
||||
|
||||
func BuildOrderAfterResellerBatchWorkflow(ctx context.Context, cfg config.ToolConfig) (compose.Runnable[OrderAfterSaleResellerBatchWorkflowInput, toolZoarb.OrderAfterSaleResellerBatchData], error) {
|
||||
// 定义工作流、出入参
|
||||
|
|
@ -26,9 +24,6 @@ func BuildOrderAfterResellerBatchWorkflow(ctx context.Context, cfg config.ToolCo
|
|||
if len(in.OrderNumber) == 0 {
|
||||
return OrderAfterSaleResellerBatchWorkflowInput{}, ErrInvalidOrderNumbers
|
||||
}
|
||||
if in.Token == "" {
|
||||
return OrderAfterSaleResellerBatchWorkflowInput{}, ErrMissingToken
|
||||
}
|
||||
return in, nil
|
||||
}))
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,46 @@
|
|||
package zltx
|
||||
|
||||
import (
|
||||
"ai_scheduler/internal/config"
|
||||
"context"
|
||||
"errors"
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestOrderAfterResellerBatch_InvalidOrderNumbers(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
cfg := config.ToolConfig{}
|
||||
|
||||
run, err := BuildOrderAfterResellerBatchWorkflow(ctx, cfg)
|
||||
if err != nil {
|
||||
t.Fatalf("build workflow error: %v", err)
|
||||
}
|
||||
|
||||
_, err = run.Invoke(ctx, OrderAfterSaleResellerBatchWorkflowInput{})
|
||||
if err == nil {
|
||||
t.Fatalf("expected error, got nil")
|
||||
}
|
||||
if !errors.Is(err, ErrInvalidOrderNumbers) {
|
||||
t.Fatalf("expected ErrInvalidOrderNumbers, got %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestOrderAfterResellerBatch_ContextTokenRequired(t *testing.T) {
|
||||
ctx := context.Background()
|
||||
cfg := config.ToolConfig{}
|
||||
|
||||
run, err := BuildOrderAfterResellerBatchWorkflow(ctx, cfg)
|
||||
if err != nil {
|
||||
t.Fatalf("build workflow error: %v", err)
|
||||
}
|
||||
|
||||
in := OrderAfterSaleResellerBatchWorkflowInput{OrderNumber: []string{"123"}}
|
||||
_, err = run.Invoke(ctx, in)
|
||||
if err == nil {
|
||||
t.Fatalf("expected error, got nil")
|
||||
}
|
||||
if !strings.Contains(err.Error(), "token 未注入") {
|
||||
t.Fatalf("expected contains 'token 未注入', got %v", err)
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue