JVS规则引擎:交叉决策表配置,让规则维护更简单

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

交叉决策表 vs 普通决策表

对比维度

普通决策表

交叉决策表

结构

所有条件在同一行中组合(单维度条件)

行和列分别代表不同维度的条件(多维度交叉)

适用场景

单一维度的条件组合(如用户等级+订单金额)

两个或多个独立维度的条件组合(如用户等级 × 产品类型)

复杂度

规则数量随条件数量线性增长

规则数量随维度交叉组合数增长(可能更高效)

可读性

适合简单条件组合

适合多维条件交叉,直观展示复杂逻辑

决策表节点的核心功能意义

  1. 直观表达多维逻辑
    将多个独立维度的条件分离到行和列,避免普通决策表中冗长的条件组合(如 用户等级=VIP AND 产品类别=服装 直接简化为交叉点)。
  2. 减少规则冗余
    例如普通决策表中需要为每个用户等级和产品类别的组合单独写一条规则,而交叉表通过行和列自动覆盖所有组合。
  3. 便于动态扩展
    新增维度只需扩展列,无需修改其他规则。
  4. 业务友好

类似 Excel 的二维表格形式,非技术人员也能快速理解并维护。

配置如下图所示:

1、拖入交叉决策表节点,连接到决策的开始节点或者上游节点

2、点击交叉决策表,进入交叉决策表配置

3、可根据实际情况新增或引入变量(需要用到变量进行赋值时),然后在交叉决策表点击添加【横向】和【纵向】,即会新增一行横向和纵向的配置。多点几次即会多新增几行或几列。

4、点击编辑,即可选择变量/节点/入参,并以此作为条件组进行设置条件。具体配置如下:

5、配置好相关条件后,进行结果设置。其中结果可为固定值、变量值和节点值。以具体实际场景进行考虑,示例如下所示:

6、配置完成,即得到最后配置结果。

在线demo:https://rules.bctools.cn

基础框架开源地址:https://gitee.com/software-minister/jvs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jonyleek

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值