背景
流程决策是一种基于规则引擎的业务流程控制方案,通过预先定义的规则集合来自动化决策过程。在复杂的业务场景中,它能够帮助系统根据不同的条件自动执行相应的操作,提高业务处理的效率和准确性。
定义
流程决策系统主要包含以下核心概念:
- 场景(Scene):特定的业务场景,作为规则集合的容器
- 规则(Rule):在特定场景下的判断条件和执行动作的集合
- 条件(Condition):规则触发的前提条件,可以包含多个条件元素
- 条件元素(Element):构成条件的基本单元,包含参数、操作符和比较值
- 操作符(Operator):用于条件判断的比较符号(如:等于、大于、包含等)
- 动作(Action):当条件满足时需要执行的具体操作
- 指令(Instruction):系统可执行的具体指令集合
- 参数(Params):在规则执行过程中需要的参数定义
库表设计
| 表名 |
作用 |
备注 |
| 场景表:cloud_process_scene |
存储业务场景定义 |
作为规则的顶层容器 |
| 规则表:cloud_process_rule |
存储具体规则信息 |
关联场景表 |
| 条件表:cloud_process_rule_condition |
存储规则的触发条件 |
关联规则表 |
| 条件元素表:cloud_process_condition_element |
存储条件的具体判断元素 |
关联条件表 |
| 比较符表:cloud_process_rule_operator |
存储可用的比较操作符 |
系统预置数据 |
| 动作表:cloud_process_rule_action |
存储规则触发后的执行动作 |
关联规则表 |
| 指令表:cloud_process_instruction |
存储系统支持的指令集合 |
系统预置数据 |
| 参数表:cloud_process_params |
存储规则执行所需的参数定义 |
支持多种参数类型 |
场景表:cloud_process_scene
| 字段名 |
类型 |
描述 |
| id |
long |
库表id,自增 |
| scene_code |
varchar |
场景编码 |
| scene_name |
varchar |
场景名称 |
| description |
varchar |
场景描述 |
| status |
tinyint |
状态:0-禁用,1-启用 |
| create_time |
datetime |
创建时间 |
| modify_time |
datetime |
修改时间 |
规则表:cloud_process_rule
| 字段名 |
类型 |
描述 |
| id |
long |
库表id,自增 |
| scene_id |
long |
场景ID |
| rule_code |
varchar |
规则编码 |
| rule_name |
varchar |
规则名称 |
| priority |
int |
优先级 |
| status |
tinyint |
状态 |
| create_time |
datetime |
创建时间 |
| modify_time |
datetime |
修改时间 |
条件表:cloud_process_rule_condition
| 字段名 |
类型 |
描述 |
| id |
long |
库表id,自增 |
| rule_id |
long |
规则ID |
| group_id |
long |
条件组ID |
| logic_type |
varchar |
逻辑类型(AND/OR) |
| create_time |
datetime |
创建时间 |
| modify_time |
datetime |
修改时间 |
条件元素表:cloud_process_condition_element
| 字段名 |
类型 |
描述 |
| id |
long |
库表id,自增 |
| condition_id |
long |
条件ID |
| element_type |
varchar |
元素类型 |
| element_value |
varchar |
元素值 |
| create_time |
datetime |
创建时间 |
| modify_time |
datetime |
修改时间 |
比较符表:cloud_process_rule_operator
| 字段名 |
类型 |
描述 |
| id |
long |
库表id,自增 |
| operator_code |
varchar |
操作符编码 |
| operator_name |
varchar |
操作符名称 |
| description |
varchar |
操作符描述 |
| create_time |
datetime |
创建时间 |
| modify_time |
datetime |
修改时间 |
动作表:cloud_process_rule_action
| 字段名 |
类型 |
描述 |
| id |
long |
库表id,自增 |
| rule_id |
long |
规则ID |
| action_code |
varchar |
动作编码 |
| action_name |
varchar |
动作名称 |
| description |
varchar |
动作描述 |
| create_time |
datetime |
创建时间 |
| modify_time |
datetime |
修改时间 |
指令表:cloud_process_instruction
| 字段名 |
类型 |
描述 |
| id |
long |
库表id,自增 |
| instruction_code |
varchar |
指令编码 |
| instruction_name |
varchar |
指令名称 |
| description |
varchar |
指令描述 |
| create_time |
datetime |
创建时间 |
| modify_time |
datetime |
修改时间 |
参数表:cloud_process_params
| 字段名 |
类型 |
描述 |
| id |
long |
库表id,自增 |
| params_code |
varchar |
参数编码 |
| params_name |
varchar |
参数名称 |
| params_type |
varchar |
参数类型 |
| params_value |
varchar |
参数值 |
| create_time |
datetime |
创建时间 |
| modify_time |
datetime |
修改时间 |