(二十二)「JVS-Rules规则引擎 V2.5」— 交叉决策表节点

核心概念

交叉决策表是规则引擎中一种特殊类型的决策表,它通过行和列的交叉维度来定义规则,适用于需要同时考虑两个或多个独立条件维度(例如用户属性、产品类型、场景状态等)组合的场景。其核心思想是将不同维度的条件分别放在行和列上,通过交叉点的单元格直接定义结果,从而简化复杂条件的组合逻辑。

交叉决策表 vs 普通决策表

|----------|-----------------------|------------------------------|
| 对比维度 | 普通决策表 | 交叉决策表 |
| 结构 | 所有条件在同一行中组合(单维度条件) | 行和列分别代表不同维度的条件(多维度交叉) |
| 适用场景 | 单一维度的条件组合(如用户等级+订单金额) | 两个或多个独立维度的条件组合(如用户等级 × 产品类型) |
| 复杂度 | 规则数量随条件数量线性增长 | 规则数量随维度交叉组合数增长(可能更高效) |
| 可读性 | 适合简单条件组合 | 适合多维条件交叉,直观展示复杂逻辑 |

核心功能意义

  1. 直观表达多维逻辑:将多个独立维度的条件分离到行和列,避免普通决策表中冗长的条件组合,直接简化为交叉点。
  2. 减少规则冗余:例如,普通决策表中需要为每个用户等级和产品类别的组合单独写一条规则,而交叉表通过行和列自动覆盖所有组合。
  3. 便于动态扩展:新增维度只需扩展列,无需修改其他规则。
  4. 业务友好:类似 Excel 的二维表格形式,非技术人员也能快速理解并维护。

配置步骤

通过决策流设计器,可以轻松配置交叉决策表节点:

1. 拖入节点并连接

从左侧的组件列表中,将 "交叉决策表" 节点拖入右侧的画布中,并将其与决策流的开始节点或上游节点连接起来。

2. 进入配置界面

点击画布上的 "交叉决策表" 节点,右侧会显示其配置面板。

3. 配置变量

在配置面板的"变量设置"区域,您可以根据实际需求 添加变量,这些变量将作为行、列条件的判断依据或结果。

4. 新增行和列(横向与纵向)

在"交叉决策表配置"区域,点击 【+横向】【+纵向】 按钮,即可分别增加一行或一列的配置。多点几次,就会多新增几行或几列。行和列分别代表两个不同维度的条件。

5. 编辑条件

点击行或列中的 【编辑条件】 区域,即可配置该行或列所对应的条件:

  • 选择变量/节点/入参:选择要用作该维度判断依据的变量。
  • 设置条件组 :添加具体的判断条件,例如:​test2 不为空​​入参空​​等于决策测试​等。

6. 配置结果

在行与列交叉的单元格中,配置条件满足时的输出结果。结果可为以下三种类型:

  • 固定值:输出一个手动输入的常量。
  • 变量值:输出决策流中其他已定义的变量值。
  • 节点值:输出决策流中某个节点的执行结果。
  • **入参值:**输出自定义入参值。

总结

通过以上配置,您可以将复杂的多维业务逻辑清晰地组织为一个二维表格,高效地实现多条件组合的业务规则。其核心优势在于直观呈现多维逻辑、便于动态增删维度且易于非技术人员理解与维护。

相关推荐
wangruofeng4 小时前
GLM-5.3-Flash 发布:追平 Opus 4.8 的智力,1/40 的价格,跑在国产芯片上
人工智能·aigc·chatglm (智谱)
皮皮虾❀5 小时前
钉钉AI服务商×教育行业:AI现代产业学院共建一体化实战——从“高校AI教学缺平台”到“校企共建AI产业学院培养数字化人才
人工智能·钉钉
SomeB1oody6 小时前
【RustyML入门】6.3. 并行归约
开发语言·后端·机器学习·rust·教程
火山引擎开发者社区6 小时前
【议程来了】火山引擎开发者社区技术日・NVIDIA 独家赞助-成都站
人工智能
三声三视6 小时前
从崩溃日志到 AI 技能:tri-god 蒸馏实战
人工智能·ai·aigc·agent
ZGIAI6 小时前
ZGI Workflow 并发控制:保护下游接口
人工智能·架构
richard_first6 小时前
Transformer 与大语言模型:第9章 LayerNorm 归一化层
人工智能·深度学习·机器学习·transformer
ZGIAI6 小时前
知识库有结果,不等于召回率合格
人工智能·架构
东小西6 小时前
【SAA实战】第 1 篇:ReactAgent 入门——先撸个"会调工具的助手"跑起来
java·人工智能·spring
兴通物联科技7 小时前
SMT PCB 微小 DataMatrix 码扫不动问题分析 兴通 XT8601B 600 万像素工业读码器落地实践
大数据·人工智能·单片机·嵌入式硬件·算法·计算机视觉