feat: 新增工作流执行模块

新增流程执行记录的实体、DTO、DAO、控制器和服务层,支持工作流的执行、回调及结果树状列表查询;同时更新服务名称为 ai-agent。
This commit is contained in:
2026-05-12 13:34:28 +08:00
parent 2aec7fe30f
commit 7c26914353
42 changed files with 4146 additions and 11 deletions

View File

@@ -0,0 +1,26 @@
package flow
import (
flowDto "ai-agent/workflow/model/dto/flow"
flowService "ai-agent/workflow/service/flow"
"context"
"gitea.com/red-future/common/beans"
)
type flowExecution struct{}
var FlowExecution = new(flowExecution)
func (c *flowExecution) Execute(ctx context.Context, req *flowDto.ExecuteReq) (res *flowDto.ExecuteRes, err error) {
return flowService.FlowExecutionService.Execute(ctx, req)
}
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) List(ctx context.Context, req *flowDto.ListFlowExecutionReq) (res *flowDto.ListFlowExecutionTreeRes, err error) {
return flowService.FlowExecutionService.List(ctx, req)
}

View File

@@ -0,0 +1,41 @@
package flow
import (
flowDto "ai-agent/workflow/model/dto/flow"
flowService "ai-agent/workflow/service/flow"
"context"
"gitea.com/red-future/common/beans"
"github.com/gogf/gf/v2/frame/g"
)
type flowTemplate struct{}
var FlowTemplate = new(flowTemplate)
func (c *flowTemplate) Create(ctx context.Context, req *flowDto.CreateFlowTemplateReq) (res *flowDto.CreateFlowTemplateRes, err error) {
res, err = flowService.FlowTemplateService.Create(ctx, req)
return
}
func (c *flowTemplate) Update(ctx context.Context, req *flowDto.UpdateFlowTemplateReq) (res *beans.ResponseEmpty, err error) {
err = flowService.FlowTemplateService.Update(ctx, req)
return
}
func (c *flowTemplate) Delete(ctx context.Context, req *flowDto.DeleteFlowTemplateReq) (res *beans.ResponseEmpty, err error) {
err = flowService.FlowTemplateService.Delete(ctx, req)
return
}
func (c *flowTemplate) Get(ctx context.Context, req *flowDto.GetFlowTemplateReq) (res *flowDto.FlowTemplateVO, err error) {
return flowService.FlowTemplateService.Get(ctx, req)
}
func (c *flowTemplate) List(ctx context.Context, req *flowDto.ListFlowTemplateReq) (res *flowDto.ListFlowTemplateRes, err error) {
if !g.IsEmpty(req.Page) {
req.Page = &beans.Page{PageNum: 1, PageSize: 20}
}
res, err = flowService.FlowTemplateService.List(ctx, req)
return
}

View File

@@ -0,0 +1,41 @@
package flow
import (
flowDto "ai-agent/workflow/model/dto/flow"
flowService "ai-agent/workflow/service/flow"
"context"
"gitea.com/red-future/common/beans"
"github.com/gogf/gf/v2/frame/g"
)
type flowUser struct{}
var FlowUser = new(flowUser)
func (c *flowUser) Create(ctx context.Context, req *flowDto.CreateFlowUserReq) (res *flowDto.CreateFlowUserRes, err error) {
res, err = flowService.FlowUserService.Create(ctx, req)
return
}
func (c *flowUser) Update(ctx context.Context, req *flowDto.UpdateFlowUserReq) (res *beans.ResponseEmpty, err error) {
err = flowService.FlowUserService.Update(ctx, req)
return
}
func (c *flowUser) Delete(ctx context.Context, req *flowDto.DeleteFlowUserReq) (res *beans.ResponseEmpty, err error) {
err = flowService.FlowUserService.Delete(ctx, req)
return
}
func (c *flowUser) Get(ctx context.Context, req *flowDto.GetFlowUserReq) (res *flowDto.FlowUserVO, err error) {
return flowService.FlowUserService.Get(ctx, req)
}
func (c *flowUser) List(ctx context.Context, req *flowDto.ListFlowUserReq) (res *flowDto.ListFlowRes, err error) {
if !g.IsEmpty(req.Page) {
req.Page = &beans.Page{PageNum: 1, PageSize: 20}
}
res, err = flowService.FlowUserService.List(ctx, req)
return
}

View File

@@ -0,0 +1,15 @@
package node
import (
nodeDto "ai-agent/workflow/model/dto/node"
nodeService "ai-agent/workflow/service/node"
"context"
)
type nodeLibrary struct{}
var NodeLibrary = new(nodeLibrary)
func (c *nodeLibrary) List(ctx context.Context, req *nodeDto.WorkflowNodeTreeReq) (res *nodeDto.WorkflowNodeTreeRes, err error) {
return nodeService.NodeLibraryService.GetNodeLibrary(ctx, req)
}

View File

@@ -0,0 +1,26 @@
package skill
import (
skillDto "ai-agent/workflow/model/dto/skill"
skillService "ai-agent/workflow/service/skill"
"context"
"gitea.com/red-future/common/beans"
)
type skillTemplate struct{}
var SkillTemplate = new(skillTemplate)
func (c *skillTemplate) Create(ctx context.Context, req *skillDto.CreateSkillTemplateReq) (res *skillDto.CreateSkillTemplateRes, err error) {
return skillService.SkillTemplateService.Create(ctx, req)
}
func (c *skillTemplate) Delete(ctx context.Context, req *skillDto.DeleteSkillTemplateReq) (res *beans.ResponseEmpty, err error) {
err = skillService.SkillTemplateService.Delete(ctx, req)
return
}
func (c *skillTemplate) List(ctx context.Context, req *skillDto.ListSkillTemplateReq) (res *skillDto.ListSkillTemplateRes, err error) {
return skillService.SkillTemplateService.List(ctx, req)
}

View File

@@ -0,0 +1,30 @@
package skill
import (
skillDto "ai-agent/workflow/model/dto/skill"
skillService "ai-agent/workflow/service/skill"
"context"
"gitea.com/red-future/common/beans"
)
type skillUser struct{}
var SkillUser = new(skillUser)
func (c *skillUser) Create(ctx context.Context, req *skillDto.CreateSkillUserReq) (res *skillDto.CreateSkillUserRes, err error) {
return skillService.SkillUserService.Create(ctx, req)
}
func (c *skillUser) Delete(ctx context.Context, req *skillDto.DeleteSkillUserReq) (res *beans.ResponseEmpty, err error) {
err = skillService.SkillUserService.Delete(ctx, req)
return
}
func (c *skillUser) List(ctx context.Context, req *skillDto.ListSkillReq) (res *skillDto.ListSkillUserRes, err error) {
return skillService.SkillUserService.List(ctx, req)
}
func (c *skillUser) ListUser(ctx context.Context, req *skillDto.ListSkillUserReq) (res *skillDto.ListSkillUserRes, err error) {
return skillService.SkillUserService.ListUser(ctx, req)
}