package flow_instance import ( "approveflow/app/provider/flow_definition" "approveflow/app/provider/flow_instance/model" "context" "github.com/Superdanda/hade/framework/gin" ) const FlowInstanceKey = "flowInstance" type Service interface { // CreateInstance 功能:创建新的审批流程实例。 CreateInstance(ctx *gin.Context, approvalFlow *flow_definition.ApprovalFlow, data map[string]interface{}) (*model.ApprovalInstance, error) // StartInstance 功能:启动新的审批流程实例。 StartInstance(ctx context.Context, instanceID int64) (*model.ApprovalInstance, error) // GetInstance 功能:获取指定流程实例的详细信息。 GetInstance(ctx context.Context, instanceID int64) (*model.ApprovalInstance, error) // GetInstancePage 功能:分页查询流程实例的详细信息。 GetInstancePage(ctx context.Context, pageNum, pageSize int, instance *model.ApprovalInstance) ([]*model.ApprovalInstance, int64, error) // CancelInstance 功能:取消正在进行的流程实例。 CancelInstance(ctx context.Context, instanceID int64) error // ApproveStep 功能:审批人批准当前步骤 ApproveStep(ctx context.Context, instanceID int64, stepID int64, comments string) error // RejectStep 功能:审批人驳回当前步骤。 RejectStep(ctx context.Context, instanceID int64, stepID int64, comments string) error // GetCurrentStep 功能:获取流程实例的当前审批步骤。 GetCurrentStep(ctx context.Context, instanceID int64) ([]*model.InstanceStep, error) // AddCustomStep 功能:在流程实例中添加自定义审批步骤。 AddCustomStep(ctx context.Context, instanceID int64, step *model.InstanceStep, fromStepKey, toStepKey string) (*model.ApprovalInstance, error) // GetCustomSteps 功能:获取流程实例中的所有自定义审批步骤。 GetCustomSteps(ctx context.Context, instanceID int64) ([]*model.InstanceStep, error) // RemoveCustomStep 功能:移除流程实例中的自定义审批步骤。 RemoveCustomStep(ctx context.Context, instanceID int64, stepID int64) error // PerformReversal 功能:执行回溯操作,将流程回退到指定步骤。 PerformReversal(ctx context.Context, instanceID int64, stepID int64, reason string) error // GetReversalInfo 功能:获取流程实例的回溯信息。 GetReversalInfo(instanceID int64) (model.ApprovalReversal, error) // CreateBatchApprovalTask 功能:创建批量审批任务。 CreateBatchApprovalTask(ctx context.Context, approverKey string, stepIDs []int64) (*model.BatchApprovalTask, error) // ExecuteBatchApprovalTask 功能:执行批量审批任务。 ExecuteBatchApprovalTask(ctx context.Context, taskID int64, approverKey string, comments string) error // GetBatchApprovalTasks 功能:获取审批人的所有批量审批任务。 GetBatchApprovalTasks(ctx context.Context, approverKey string) ([]model.BatchApprovalTask, error) // GetApprovalRecords 功能:获取流程实例的所有审批记录。 GetApprovalRecords(ctx context.Context, instanceID int64) ([]*model.ApprovalRecord, error) }