(二十二)「JVS-Rules规则引擎 V2.5」— 交叉决策表节点
核心概念交叉决策表是规则引擎中一种特殊类型的决策表它通过行和列的交叉维度来定义规则适用于需要同时考虑两个或多个独立条件维度例如用户属性、产品类型、场景状态等组合的场景。其核心思想是将不同维度的条件分别放在行和列上通过交叉点的单元格直接定义结果从而简化复杂条件的组合逻辑。交叉决策表 vs 普通决策表对比维度普通决策表交叉决策表结构所有条件在同一行中组合单维度条件行和列分别代表不同维度的条件多维度交叉适用场景单一维度的条件组合如用户等级订单金额两个或多个独立维度的条件组合如用户等级 × 产品类型复杂度规则数量随条件数量线性增长规则数量随维度交叉组合数增长可能更高效可读性适合简单条件组合适合多维条件交叉直观展示复杂逻辑核心功能意义直观表达多维逻辑将多个独立维度的条件分离到行和列避免普通决策表中冗长的条件组合直接简化为交叉点。减少规则冗余例如普通决策表中需要为每个用户等级和产品类别的组合单独写一条规则而交叉表通过行和列自动覆盖所有组合。便于动态扩展新增维度只需扩展列无需修改其他规则。业务友好类似 Excel 的二维表格形式非技术人员也能快速理解并维护。配置步骤通过决策流设计器可以轻松配置交叉决策表节点1. 拖入节点并连接从左侧的组件列表中将“交叉决策表”节点拖入右侧的画布中并将其与决策流的开始节点或上游节点连接起来。2. 进入配置界面点击画布上的“交叉决策表”节点右侧会显示其配置面板。3. 配置变量在配置面板的“变量设置”区域您可以根据实际需求添加变量这些变量将作为行、列条件的判断依据或结果。4. 新增行和列横向与纵向在“交叉决策表配置”区域点击【横向】和【纵向】按钮即可分别增加一行或一列的配置。多点几次就会多新增几行或几列。行和列分别代表两个不同维度的条件。5. 编辑条件点击行或列中的【编辑条件】区域即可配置该行或列所对应的条件选择变量/节点/入参选择要用作该维度判断依据的变量。设置条件组添加具体的判断条件例如test2 不为空、入参空、等于决策测试等。6. 配置结果在行与列交叉的单元格中配置条件满足时的输出结果。结果可为以下三种类型固定值输出一个手动输入的常量。变量值输出决策流中其他已定义的变量值。节点值输出决策流中某个节点的执行结果。入参值输出自定义入参值。总结通过以上配置您可以将复杂的多维业务逻辑清晰地组织为一个二维表格高效地实现多条件组合的业务规则。其核心优势在于直观呈现多维逻辑、便于动态增删维度且易于非技术人员理解与维护。