approveflow/app/provider/flow_definition/contract.go

76 lines
3.4 KiB
Go

package flow_definition
import "context"
const FlowDefinitionKey = "flowDefinition"
type Service interface {
//流程模板的业务操作
// CreateFlow 功能:创建新的审批流程模板。
CreateFlow(ctx context.Context, flow *ApprovalFlow) error
// GetFlow 功能:获取指定流程模板的详细信息。
GetFlow(ctx context.Context, flowID int64) (*ApprovalFlow, error)
// GetFlowPage 功能:获取流程模板的基本信息的分页查询。
GetFlowPage(ctx context.Context, pageNum, pageSize int, flow *ApprovalFlow) ([]*ApprovalFlow, int64, error)
// UpdateFlow 功能:更新已有的流程模板。
UpdateFlow(ctx context.Context, flow *ApprovalFlow) error
// DeleteFlow 功能:删除指定的流程模板。
DeleteFlow(ctx context.Context, flowID int64) error
// 审批步骤管理
// AddStepWithPosition 功能:在节点之间添加。
AddStepWithPosition(ctx context.Context, flowID int64, step *ApprovalStep, fromStepId string, toStepKey string) error
// AddStep 功能:为流程模板添加新的审批步骤。
AddStep(ctx context.Context, flowID int64, step *ApprovalStep) error
// GetSteps 功能:获取流程模板中的所有审批步骤。
GetSteps(ctx context.Context, flowID int64) ([]*ApprovalStep, error)
// UpdateStep 功能:更新流程模板中的审批步骤。
UpdateStep(ctx context.Context, flowID int64, step *ApprovalStep) error
// DeleteStep 功能:删除流程模板中的指定审批步骤。
DeleteStep(ctx context.Context, flowID int64, stepID int64) error
// AddRule 功能:为审批步骤添加新的审批规则
AddRule(ctx context.Context, flowID int64, stepID int64, rule *ApprovalRule) error
// GetRules 功能:获取审批步骤的所有审批规则。
GetRules(ctx context.Context, flowID int64, stepID int64) ([]*ApprovalRule, error)
// UpdateRule 功能:更新审批规则。
UpdateRule(ctx context.Context, flowID int64, stepID int64, rule *ApprovalRule) error
// DeleteRule 功能:删除指定的审批规则。
DeleteRule(ctx context.Context, flowID int64, stepID int64, ruleID int64) error
// AddDynamicStepConfig 功能:添加动态审批步骤配置。
AddDynamicStepConfig(ctx context.Context, flowID int64, stepID int64, config *DynamicApprovalStepConfig) error
// GetDynamicStepConfigs 功能:获取流程模板的所有动态步骤配置。
GetDynamicStepConfigs(ctx context.Context, flowID int64) ([]*DynamicApprovalStepConfig, error)
// UpdateDynamicStepConfig 功能:更新动态步骤配置。
UpdateDynamicStepConfig(ctx context.Context, flowID int64, stepID int64, config *DynamicApprovalStepConfig) error
// DeleteDynamicStepConfig 功能:删除指定的动态步骤配置。
DeleteDynamicStepConfig(ctx context.Context, flowID int64, stepID int64) error
// AddPathConfig 功能:添加审批路径配置。
AddPathConfig(ctx context.Context, flowID int64, stepID int64, config *ApprovalPathConfig) error
// GetPathConfigs 功能:获取流程模板的所有路径配置。
GetPathConfigs(ctx context.Context, flowID int64) ([]*ApprovalPathConfig, error)
// UpdatePathConfig 功能:更新审批路径配置。
UpdatePathConfig(ctx context.Context, flowID int64, stepID int64, config *ApprovalPathConfig) error
// DeletePathConfig 功能:删除指定的审批路径配置。
DeletePathConfig(ctx context.Context, flowID int64, stepID int64, pathID int64) error
}