feat: 新增主动拉取与多类型回调功能
- 新增 ActivePull 实体、DAO、DTO 及 Service,支持主动拉取任务管理 - 新增 ComposeCallback、VideoCallback、HttpNodeCallback 多类型回调接口 - FlowExecution 增加 NodeGroupId 和 TotalTokens 字段,支持节点组追踪与 Token 统计 - ExecutedNodes 结构由字符串列表改为包含执行状态的节点对象列表 - 重构回调通知机制,统一 Notify 函数调用 - 优化输出项类型判断逻辑,新增文件类型标识
This commit is contained in:
23
workflow/controller/flow/flow_call_back_controller.go
Normal file
23
workflow/controller/flow/flow_call_back_controller.go
Normal file
@@ -0,0 +1,23 @@
|
||||
package flow
|
||||
|
||||
import (
|
||||
flowService "ai-agent/workflow/service/flow"
|
||||
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"github.com/gogf/gf/v2/net/ghttp"
|
||||
)
|
||||
|
||||
type flowCallBack struct{}
|
||||
|
||||
var FlowCallBack = new(flowCallBack)
|
||||
|
||||
func (c *flowCallBack) HttpNodeCallback(r *ghttp.Request) {
|
||||
ctx := r.Context()
|
||||
err := flowService.FlowExecutionService.HttpNodeCallback(ctx)
|
||||
if err != nil {
|
||||
r.Response.WriteJson(g.Map{"code": 500, "message": err.Error()})
|
||||
return
|
||||
}
|
||||
r.Response.WriteJson(g.Map{"code": 0, "message": "success"})
|
||||
return
|
||||
}
|
||||
@@ -16,11 +16,21 @@ func (c *flowExecution) Execute(ctx context.Context, req *flowDto.ExecuteReq) (r
|
||||
return flowService.FlowExecutionService.Execute(ctx, req)
|
||||
}
|
||||
|
||||
func (c *flowExecution) ComposeCallBack(ctx context.Context, req *flowDto.ComposeCallbackReq) (res *beans.ResponseEmpty, err error) {
|
||||
err = flowService.FlowExecutionService.ComposeCallback(ctx, req)
|
||||
return
|
||||
}
|
||||
|
||||
func (c *flowExecution) ModelCallback(ctx context.Context, req *flowDto.ModelCallbackReq) (res *beans.ResponseEmpty, err error) {
|
||||
err = flowService.FlowExecutionService.ModelCallback(ctx, req)
|
||||
return
|
||||
}
|
||||
|
||||
func (c *flowExecution) VideoCallback(ctx context.Context, req *flowDto.VideoCallbackReq) (res *beans.ResponseEmpty, err error) {
|
||||
err = flowService.FlowExecutionService.VideoCallback(ctx, req)
|
||||
return
|
||||
}
|
||||
|
||||
func (c *flowExecution) Get(ctx context.Context, req *flowDto.GetFlowExecutionReq) (res *flowDto.VOFlowExecution, err error) {
|
||||
return flowService.FlowExecutionService.Get(ctx, req)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user