首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何设计一个灵活的审批流程

    背景 如何选择一个合适的审批流程,决定了业务逻辑的复杂度。因此选择合适的审批实现方式很重要。在售后,流程式的代码也较多,因此需要选择一个合适的方式。...二、方案 方案一: 这种模式适用于固定流程和可变长短流程 是基于当前的步骤,建立审批流,比如Activiti、Flowable或者阿里开源的审批流框架等,这个时候,此时每个判断条件放在审批流的排他网关上...但是这样有一个问题:需要有一个专门管理的审批流来管理流程。由于审批流和角色挂钩,因此不免需要和认证中心做交互。如果当前的审批流程比较长,会出现一个问题,审批中心出现异常,我们的审批信息也需要进行回滚。...然后将其待处理流程插入到数据库中。当轮到那个角色审批的时候,就进行对应的审批行为,进行审批。此时不需要审批流框架的加持也能完成这个过程。 改进方式: 但是这种方案还是不够灵活。...方案三: 通常基于审批流程,如果是固定的,可以基于责任链模式,来设计审批流程。责任链模式最典型的代表就是Sentinel。基于SPI构建出来的典型固定流程的设计模式。其本质类似于链表的数据结构。

    98520

    OA多级审批流程表设计方案(干货满满)

    ,是的没错,本文就来讲解一下OA中的核心业务,审批流程是如何一步步实现的。...然后再由相应的审批人逐级进行审批,当其中有一个不通过,则整个流程不通过,当所有的审批人全部通过才可通过 OK流程已经清楚了,接下来我们来进行表结构的设计 只需要两张核心的审批表即可,其他需要进行审批流的业务表通过审批流编号...Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能....3.通过,4.驳回) 如此一来,OA审批流程的两张核心业务表就设计完成了。...有了用户表和审批业务核心表,接下来就可以根据公司业务需求,来设计相关的审批流程业务表了,这里就拿加班申请来举个例子,当用户需要进行加班的时候,肯定是需要走审批流程的,那么再来设计一张加班申请表 加班表

    4.5K41

    Jenkins结合钉钉企微机器人实现CICD审批功能

    一、实现流程1.代码自动构建(我这里做的手动触发,你可以调整为自动触发构建)2.流转审批节点3.触发钉钉或企业微信或其他平台机器人发布审批信息4.审批人登入Jenkins填写随机Token确认审批发布5....Token认证成功,发布站内信进行通知发版具体时间6.到达发布时间即可自动发布线上K8s集群说明:本文不会详细描述整个过程,只是把大致流程讲一下,将核心的代码贴出来,大家可自行根据自己的项目去改造。...} stage("发送审批通知"){ when { expression { env.approve !...approval.HttpReq("生产发布申请") } else { error '审批人信息获取失败,任务已终止'...def isAbort = false //取消按钮 timeout(time:1, unit:'HOURS'){ //等待审批人审批

    3.2K61

    Java设计模式:使用责任链模式和状态模式优化‘审批流程‘

    Java设计模式:使用责任链模式和状态模式优化审批流程 摘要 在现代软件开发过程中,动态审核流程是确保数据质量和流程合规性的关键环节。...功能实现 该功能有多种实现方式,下面给出3个简单的示例 示例1: 下面这段Java代码实现了一个简单的责任链模式(Chain of Responsibility Pattern)。...根据用户输入,这些状态类可以改变审批流程的当前状态。 审批流程上下文(ApprovalProcess): 维护一个对当前状态对象的引用,允许状态对象在其内部状态改变时请求改变其行为。...处理审批: 每个状态对象根据其逻辑处理来自请求的输入,并可以决定是否结束流程或者将流程移至另一个状态。...在这个例子中,它帮助管理了复杂的审批流程,每个状态都有明确的行为和转换逻辑。这使得维护和理解审批流程变得更容易,尤其是在涉及多个审批阶段和条件时。

    59511

    我开发了一套简单易用的审批流程引擎

    背景 最近的项目有涉及审批流程业务,为了不增加系统的复杂度,不想引入开源的流程引擎(市面上开源流程引擎功能都比较齐全,本项目的流程审批功能没有那么复杂),于是自己决定设计一套简单易用的审批流程来。...我们主要来说说「提交功能」和「审批功能」。 提交功能 在提交审批前需要提交哪些参数呢?如上图,流程编号,业务单据号,审批意见,审批状态,审批的业务模块,这些都是需要提交的参数。...))); 然后创建流程记录 processMapper.insert(process); 到这里提交进入审批流程的功能已经结束,但是有的业务场景提交之后可能做一些额外的操作,比如通知给审批人,修改业务单据状态等...接下来就是审核功能了,和提交一样,需要校验流程编码和业务单号,然后就要获取最后一次审核记录: 通过获取到的最新已审批节点,我们就可以更新当前待审批的节点了。...测试 功能完成,就是紧张刺激的测试环节了,先测试submitProcess()方法,测试代码下: 提交审核功能中,只需要填入3个参数:流程编号,业务单据号,业务模块。

    6K44

    用审批流程实现运维自动化发布

    通过实现自动化流程可以减少人工介入和手动干预,从而实现更高效的流程。审批通过后,Jenkins 自动化发布可以自动触发构建和部署过程,减少人工错误和延迟,将结果实时推送群通知提高沟通效率。...发布申请 流程 钉钉/飞书审批订阅: 需要创建一个审批流程通过钉钉的审批应用或飞书的审批功能来实现。...在流程中添加适当的字段来收集用户输入的数据,如代码版本、部署环境等信息 接收审批结果: 钉钉和飞书提供了审批结果的回调机制需要创建一个接收回调的服务 触发 Jenkins 自动化发布 收到审批结果回调后...,根据审批结果将触发 Jenkins 的自动化发布 发布申请 Lark PC或APP端通过「工作台」-「审批」查找 创建飞书 审批 飞书&Lark PC或APP端:「工作台」-「审批中心」-「管理后台...」 创建审批 审批设计 保存 approval_code id 订阅审批事件时需要 创建应用 开发者后台 - 创建应用 https://open.larksuite.com/app 添加订阅事件

    1.1K20

    想做流程审批的开发?带你玩转Activity工作流(一)

    现在的很多传统企业转型互联网,最多的“转型”工作之一,就是公司的流程审批模块,如何进行线上运行,实现降本增效。...—— 23号老板 0 1 引入 现在的很多传统企业转型互联网,最多的“转型”工作之一,就是公司的流程审批模块,如何进行线上操作。...最常见的场景,比如请假审批、报表审批、财务审批、人员招聘等等。 以招聘为例: ? 传统的实现,可能会考虑使用一种行为设计模式:责任链模式。这种方式针对于不同的业务,相对于开发效率而言,较为繁琐费时。...关于审批流程这样的应用场景开发,Activity工作流引擎可作为一种不错的选择。 0 2 理解、使用 什么是工作流引擎?...工作流引擎最常见用于审批流程中,现在一线互联网公司也开始使用,并有快速推广的趋势,复杂繁多的业务流程如果采用if else实现那将是崩溃的,代码不可维护,业务流程在代码中可读性很差,所以高人设计了业务流程模型图示

    3.9K20

    有赞移动关于权限与审批流程的标准化

    这些平台都需要发布,而发布就需要规范化,需要审批制度。如果为各个平台开发这个审批流程,看起来是一种浪费。 首先想到第一种方案:接入现有的前后端发布平台。...二、梳理 首先看一下标准的发布审批流程一般是怎么样的? 第一步:申请人提交发布单 第二步:负责人审批 第三步:申请人发布 而这里申请人和负责人就是以权限为区分。...2.2 审批 审批需要哪些元素呢? 申请人、审批内容、审批人、审批状态。其中审批内容在各个二方平台是不一样的。 尽管如此,还是可以抽象成两个字段:审批单唯一标识和用于查看审批详情的链接。...所以审批也是可以做抽象的。 三、设计 如何设计这个统一的平台将权限与审批流程标准化呢?首先看一下二方平台和有赞移动权限与审批统一管理平台(以下简称统一管理平台)的交互流程图。 ?...由此就将发布的审批流程和权限管理进行了标准化。现有的二方平台,以及将来更多二方平台都可以通过统一管理平台提供的接口接入,在统一管理平台上进行权限和审批流程的管理。

    88720

    CNCF扩展沙箱审批流程,以满足新项目不断增长的需求

    加利福尼亚州旧金山-2020年7月8日-为云原生软件构建可持续生态系统的CNCF®(Cloud Native Computing Foundation®,云原生计算基金会®)今天宣布了一项新的简化流程...,适用于希望加入CNCF沙箱的项目,该流程将提高CNCF对新项目的接受程度,并降低寻求中立基础的开源项目的门槛,以加快其创新、采用速度和社区建设工作。...“我很高兴CNCF TOC实施了一个伟大的新流程,简化了有价值项目的准入门槛,增加了创新,最近有11个新的沙箱项目被接受。”...https://github.com/cncf/servicedesk 沙箱流程的关键变化包括一个简化的提交流程,该流程使用一个应用程序流程,询问项目所有者他们的项目是否适合作为云原生生态系统的一部分。...沙箱项目的完整列表可以在这里找到,您可以在这里申请到新的沙箱流程。

    1.6K20

    在 Tekton 中如何实现审批功能

    我们通常会基于流程引擎,针对业务进行适配提高易用性,针对场景进行封装收敛复杂度,那么一个 CICD 平台需要具备哪些基本的功能呢? 流程编排。基本而又核心的功能,借助开源的编排引擎即可。 流程原子。...流程原子组装得到流水线,越丰富的流程原子,越能够满足业务方的需求。 流程控制。主要包括条件执行、暂停、继续、审批等,允许控制流水线的行为。 自动触发。...本篇主要想和大家分享的是 Tekton 流程控制,特别是审批的功能。 2....如何实现审批功能 上面提到了 Tekton 中的几个流程控制方法,但是社区并没有提供、也不准备提供审批的功能。因此,在对 Tekton 进行二次开发时,需要 CICD 平台自行实现审批和权限的控制。...总结 在进行 Tekton 二次开发时,审批是很难绕开的功能,但社区并没有提供相关的特性。本文首先介绍了 Tekton 中流程控制方法,然后提供了两种实现审批功能的方案。

    2K20

    状态机流程引擎审批流的流程引擎结合低代码开发的流程引擎 区别 业务系统中使用流程引擎「建议收藏」

    流程引擎把状态机的流程和状态变成了 流程,节点和状态 优点: 业务中利用流程引擎可以解耦. 流程能比较内聚. 但是状态机还需要自己写,所以可以用内聚的状态机来替代流程模板....所以内聚/收拢的状态机完全可以替代优点1 审批流的流程引擎 流程模板已经和角色相关,且每个角色可以查询哪些,做一些判断,也配置好了. 所以就比较简单,一般只有审批操作....优点: 和人,角色概念结合,自动推送给用户,无需额外代码,用户可直接查询, 缺点: 每个状态/节点下,场景限制在审批动作,查询简单....弱一点的可以通过写自定义函数,或者jar文件的形式来脚本化配置. 节点里不要有代码,最好只有数据....但坏处是有一天流程引擎无法满足新功能的时候,重新开发工作量比较大. 特殊案例 : 有遇到过一个特殊的 case. 乘客和司机, 垫付场景.本来,乘客支付后分润给司机.

    2.2K10
    领券