{"repo":"hulutech-web/goravel-workflow","free":true,"listed":false,"github":"https://github.com/hulutech-web/goravel-workflow","clone":"git clone https://github.com/hulutech-web/goravel-workflow.git","description":"a golang workflow-engine,base on goravel framework","language":"Go","stars":19,"topics":["go","workflow-engine"],"license":null,"category":"workflow-automation","readme_excerpt":"演示 在线演示 地址 文档 使用手册请访问文档 一、安装 1.1 注册服务提供者:config/app.go 1.2 注册服务提供者:config/app.go 二、发布资源，默认将发布2类资源，一是配置文件，而是数据表迁移 2.1 发布资源:config/app.go 可选标签： - --tag=migrations — 只发布迁移文件 - --tag=seeders — 只发布种子数据 - --tag=config — 只发布配置文件 - 不指定标签则全部发布 2.2 发布迁移文件:database 发布后得到两个 Go 迁移文件： - 2024 06 24 000000 create workflow base tables.go — 创建工作流专用表（flows、flowtypes、processes、processvars、templates、templateforms、entries、entrydatas、procs、attachments、products，共 11 张表）。注：users、depts、emps 表由宿主应用提供，不包含在此迁移中。 - 2026 07 23 000000 add workflow features.go — 添加新增功能字段（concurrency type、approver rule、unpass target process id、cc emp ids）及新建表（proc add signs、proc comments、cc records） 2.3 执行迁移建表 在database/seeders/database seeder.go下的添加 2.4 执行迁移 2.5 检查路由重名 如果启动项目报错，请检查路由是否有重名，并修改路由 2.6 模型映射 发布资源后，config/workflow.go中的配置文件中有默认的关联映射，根据需要自行修改和修改 三、实现Hook接口（可选） 用户自定义User结构中注入流程框架，并实现框架中的Hook接口 实现接口 实例化workflow 框架提供了2个 hooks ，供开发者自行实现逻辑，可以发送邮件通知，短信通知等 app/providers/app services provider.go 实例化workflow，并注入服务 四、框架路由说明 五、新增功能说明 功能 说明 API ------ ------ ----- 撤回 发起人撤回未处理的流程 POST /api/entry/revoke / POST /api/revoke 加签 当前审批人可添加额外审批人 POST /api/addsign 转交 将审批任务转交给其他员工 POST /api/transfer 评论 多轮对话式评论/留言 POST /api/comment / GET /api/comments/{entry id} 抄送 节点完成后自动抄送相关人员 GET /api/cc/list / GET /api/cc/entry/{entry id} 超时检查 定时检查超时的待办任务 go run . artisan workflow:timeout-check 会签 同一步骤所有审批人都需通过，全部通过才进入下一步 Flowlink.ConcurrencyType = 1 或签 同一步骤一人通过即进入下一步，其余审批人自动跳过 Flowlink.ConcurrencyType = 2 驳回到指定节点 驳回到任意历史节点，而非仅上一步 ProcController.UnPass","default_branch":null,"files":null,"tree":[],"storefront":"/r/hulutech-web","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/hulutech-web/goravel-workflow/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}