面向Go-To-Market)业务的企业级流程中台,为价格审批、订单审批等多类业务提供统一的流程定义、审批流转与权限管控能力,并对接 外部系统,替代各业务系统各自实现审批逻辑的旧模式,实现流程能力的平台化、可配置化复用。
技术栈 Java 17、Spring Boot 3.0.5、Spring Cloud 2022 / Spring Cloud Alibaba、MyBatis-Plus、MySQL、Redis(JetCache)、RabbitMQ、OpenFeign、Sentinel、Undertow、Spring Security OAuth2、Elasticsearch、Maven 多模块。
我的职责 负责流程中心核心模块的设计与开发,涵盖流程实例生命周期、审批权限判定、任务重试、消息通知与外部系统集成,参与系统架构设计与线上问题排查。
核心工作与技术亮点
多维度审批权限模型:设计基于"用户 / 角色 / 岗位 / 销售组织"4 类权限维度组合的审批人解析机制,覆盖销售组织、客户类型、价格类型、订单类型、客户渠道、电商店铺等 9 类业务适用维度,通过 permission_dimension + permission_dimension_value 与外部权限系统的用户维度匹配,支撑复杂组织结构下的动态审批,兼容单人审批与会签(全部通过)场景。
可配置化流程编排:以流程定义模板、执行单元(Unit)、流程分组(按适用范围绑定 defKey)为核心,实现流程"配置即生效",业务方无需改代码即可调整审批链路;支持网关条件分支,按运行期参数动态决定节点走向。
任务执行与异常重试机制:设计任务详情(TaskDetail)逐节点执行引擎,支持同步/异步(线程池)两种节点调用,节点失败自动标记异常态并落执行日志;实现从指定失败节点断点重试的能力,重试超阈值自动置错误态,保障长链路流程最终一致性。
消息驱动与外部系统集成:基于 RabbitMQ 实现审批消息、任务/流程结束消息的异步下发与消费,配合消息落库实现可追溯与重发;通过 16 个 OpenFeign 客户端对接外部系统,完成审批结果双向同步与快速审批。
性能与稳定性:采用 Undertow 替代 Tomcat 提升 Web 容器吞吐,JetCache + Redis 缓存热点权限/配置数据,Sentinel 做熔断限流,Elasticsearch 承载待办/已办大数据量检索,自定义线程池隔离异步任务避免主流程阻塞。
工程规模与运维:项目采用 4 个 Maven 模块(api/biz/core/model)分层,交付 约 26 个业务 Controller、28 个 Service;沉淀接口分析与运维文档,主导多起线上问题根因定位(如"任务不存在或已完成"审批异常),并支撑区域编码变更等存量数据订正方案设计。