背景
流程决策是一种基于规则引擎的业务流程控制方案,通过预先定义的规则集合来自动化决策过程。在复杂的业务场景中,它能够帮助系统根据不同的条件自动执行相应的操作,提高业务处理的效率和准确性。
定义
流程决策系统主要包含以下核心概念:
- 场景(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 |
修改时间 |