资源中心 产品介绍 艾体宝产品 | Decisions Rule语句规则:Statement Rule实操

艾体宝产品 | Decisions Rule语句规则:Statement Rule实操

在上一篇我们介绍了Decisions Rule的基础知识框架,掌握了规则的核心逻辑、配置三要素和设计器基础操作。而在Decisions的7种规则类型中,语句规则(Statement Rule) 是最灵活、使用频率最高的一种,以自然语句的If This Then That形式存在,是掌握Decisions规则引擎的核心关键。本文将从输入配置、不同数据类型的专属判断条件、规则输出动作,到多条件逻辑组合(AND/OR/嵌套)、条件编辑操作,再到实际案例解析,手把手教你掌握语句规则的全流程配置。

语句规则是Decisions规则引擎的基础且核心的规则类型,相比其他规则类型,其核心优势和适用场景十分明确,也是我们日常业务中最常配置的规则:

  1. 语法贴近自然语言:以If(条件)Then(True动作)Else(False动作)为核心结构,理解和配置成本极低;
  2. 灵活性极强:支持单/多条件组合、复杂嵌套逻辑,可返回自定义数据、控制流程走向、触发联动动作;
  3. 多场景适配:常用于表单的显示/隐藏规则、表单数据校验、流程分支判断、自定义结果返回等;
  4. 无缝衔接流程:配置完成后可直接嵌入工作流,也可通过API调用,与其他Decisions组件联动性好。

输入是规则执行的基础,语句规则的输入配置与Decisions流程(Flow)的输入设置完全一致,核心是定义需要判断的变量名+数据类型,配置完成后即可在条件中选中该变量进行逻辑判断。

2.1 输入配置实操步骤

  1. 创建语句规则后,点击设计器顶部的Setup Input Data,进入输入配置界面;
  2. 点击Define Input Data,开始定义输入变量;
  3. 依次配置变量的NAME(变量名)TYPE(数据类型),可按需设置IS LIST(是否为列表)CAN BE NULL(是否允许为空)VALUE IF NULL(为空时默认值)
  4. 定义完成后保存,返回规则设计器,在If条件中即可直接选中已配置的变量进行判断。

2.2 输入支持的核心数据类型

语句规则支持Decisions中绝大多数基础和复杂数据类型,覆盖日常业务的所有判断需求,核心支持类型如下:

  • 基础类型:字符串(String/Text)、数字(Integer整数/Decimal小数)、布尔值(Boolean)、日期时间(DateTime);
  • 复合类型:列表(List)、用户自定义复杂对象、流程传入的上下游关联数据。

注意:规则无输入条件时,会默认返回True,需根据实际业务需求配置输入,避免无意义的规则判断。

配置好输入后,下一步就是定义判断条件,而Decisions的核心特性是:不同数据类型会提供专属的判断条件(Verbs),无需自定义,直接选择即可,精准适配各类数据的判断需求。

判断条件的固定结构为:输入变量(主体) + 专属Verbs(比较符) + 对比值,以下是日常使用最多的3类数据类型的核心专属判断条件。

3.1 字符串(String/Text):偏文本/列表匹配

适用于文本类变量的判断,如用户名、客户类型、产品名称等,核心常用Verbs:

  • 精准匹配:Equals(等于)、Is Not(不等于);
  • 模糊匹配:Contains(包含)、StartsWith(以…开头)、EndsWith(以…结尾);
  • 列表匹配:In List(在指定列表中);
  • 文本属性:Is Empty(为空)、长度判断(如Length Greater Than);
  • 高级匹配:正则匹配(Regex);
  • 取反操作:Not(对上述所有条件取反,如Not Contains)。

3.2 数字类型(Integer/Decimal):偏数值大小/范围判断

适用于数值类变量的判断,如订单金额、年龄、数量、分数等,核心常用Verbs:

  • 大小比较:Equals(等于)、Greater Than(大于)、Less Than(小于)、Greater Than Or Equal To(大于等于)、Less Than Or Equal To(小于等于);
  • 范围判断:Between(在…之间),可自定义最小值/最大值,并设置是否包含边界(None/仅包含下限/仅包含上限/都包含);
  • 数值属性:Even(偶数)、Odd(奇数)、Equals Without Decimal(忽略小数相等);
  • 比例判断:Greater Than In Percents(按比例大于);
  • 取反操作:Not(对上述所有条件取反)。

3.3 日期时间(DateTime):偏时间先后/范围判断

适用于时间类变量的判断,如订单创建时间、生日、有效期等,核心常用Verbs:

  • 时间先后:After(晚于)、Before(早于)、Is Same Day(为同一天);
  • 范围判断:Between Days(在指定天数内)、Is Between(时间区间内)、Is Now Between(在当前时间区间内);
  • 时间跨度:in Timespan(在指定时间跨度内);
  • 动态时间:与当前时间对比(如Before Current Time)、计算时间(如After Days,晚于N天);
  • 取反操作:Not(对上述所有条件取反)。

通用Verbs:所有数据类型均支持Exists(是否存在),用于判断变量是否有有效值,适配数据非空判断。

语句规则的核心结构是If(条件)Then(True结果)Else(False结果),配置好条件后,需为条件成立(True)条件不成立(False) 分别配置输出动作,Decisions提供了4类核心输出动作,可单独使用也可组合使用,覆盖数据返回、列表操作、值修改、流程触发等需求。

4.1 核心输出动作及使用场景

(1)New Output Data:自定义输出数据

  • 核心作用:创建自定义输出变量,返回指定结果,如错误提示、成功文本、自定义编码、计算结果等;
  • 配置要点:定义输出变量的名称+数据类型(字符串、数字、对象等均可),并设置具体返回值;
  • 适用场景:表单校验失败返回错误信息、规则判断后返回分级结果(如VIP1/VIP2)、计算类规则返回具体数值。

(2)Add to List:添加数据到列表

  • 核心作用:将指定值添加到已有的列表中,与Decisions流程中的Add Item to List功能一致;
  • 配置要点:选择目标列表,设置需要添加的列表项值;
  • 适用场景:筛选符合条件的用户,将用户ID添加到目标列表、收集符合条件的订单编号。

(3)Change Value:修改输入变量值

  • 核心作用:对已配置的输入变量进行值修改,支持前缀添加、后缀添加、直接替换
  • 配置要点:选择目标输入变量,设置修改方式和修改值;
  • 适用场景:对订单编号添加前缀(如ORD-202505)、对用户昵称补充后缀、将空值替换为默认值。

(4)Trigger Flow:触发联动工作流

  • 核心作用:直接调用Decisions中已创建的其他工作流,实现规则与流程的无缝联动;
  • 配置要点:选择需要触发的目标流程,可按需传递参数;
  • 适用场景:条件满足时触发「发送邮件」流程、条件不满足时触发「人工审核」流程、校验失败时触发「异常提醒」流程。

4.2 输出配置小技巧

  • True和False分支可配置多个输出动作(如同时返回自定义数据+触发流程);
  • 若无需为False分支配置动作,可在规则设计器Outputs面板中关闭Show Else Result
  • 若需处理数据缺失的情况,可开启Show Missing Result,新增Missing分支,专门配置数据为空时的执行动作。

日常业务中,单条件判断的场景极少,更多是多条件组合复杂嵌套逻辑,语句规则支持AND(与)OR(或) 及二者的多层嵌套,可实现任意复杂的业务判断,且配置操作全程可视化,无需编写代码。

5.1 添加AND条件(多条件同时满足)

核心逻辑:所有添加的条件必须全部为True,整体规则结果才为True;只要有一个条件为False,整体结果为False。

实操步骤:在规则设计器中,点击已有条件下方的Add → Add Condition,新条件会自动以AND与上一条条件连接,直接配置新条件的「变量+Verbs+对比值」即可。

适用场景:「年龄≥18 实名认证 绑定手机号」才能进行提现、「订单金额≥1000 配送地址为本地 支付方式为在线支付」免运费。

5.2 添加OR条件(任一条件满足)

核心逻辑:Decisions中为包含或,任意一个条件分组为True,整体规则结果即为True;只有所有分组都为False,整体结果为False;短路判断优化:只要第一个条件为True,系统会跳过后续条件判断,提升执行效率。

实操步骤:在规则设计器中,点击已有条件下方的Add → Add Either/Or Group,会生成「Either」和「Or」两个条件分组,分别在两个分组中配置判断条件即可。

适用场景:「会员 消费满200元 邀请3位新用户」可参与活动、「订单满减 使用优惠券 积分抵扣」可享受优惠。

5.3 嵌套逻辑(AND+OR多层组合)

核心逻辑:在Either/Or分组内,可继续添加多个条件,自动以AND连接;支持多层嵌套,实现「(条件1且条件2)或(条件3且条件4)」的复杂判断。

实操步骤

  1. 先添加Add Either/Or Group,生成Either和Or两个大分组;
  2. 在Either分组内,点击Add → Add Condition,添加多个条件(自动AND连接);
  3. 同理,在Or分组内添加多个条件(自动AND连接);
  4. 按需添加多层Either/Or Group,实现更复杂的嵌套。

适用场景:「(客户类型为经销商 合同金额>70000) (客户类型为直客 合同金额>90000)」可享受专属折扣,这是业务中最典型的AND+OR嵌套场景。

配置多条件/嵌套逻辑时,难免需要调整条件的顺序、复用条件或删除无用条件,Decisions语句规则设计器支持条件的移动、复制、删除,无需重复创建,大幅提升配置效率。

6.1 移动/复制条件

  1. 右键操作:将鼠标悬停在需要移动/复制的条件上,右键点击,选择Cut(剪切)Copy(复制)
  2. 粘贴操作:将鼠标移至目标位置的Add文字上,左键点击,选择Paste(粘贴),条件即会插入到该位置;
  3. 快速移动:右键点击条件,选择Move Down/Move Up,可直接将条件向上/向下移动一位,适合微调顺序。

6.2 删除条件

  1. 将鼠标悬停在需要删除的条件上,条件右侧会出现Remove按钮;
  2. 左键点击Remove按钮,即可删除该条件,且不影响其他条件的逻辑连接。

注意:删除嵌套分组内的最后一个条件后,分组会自动消失,需按需保留分组结构。

为了让大家更好地理解和落地,以下结合单条件、AND多条件、OR多条件、AND+OR嵌套四种场景,给出具体的规则配置案例和测试结果,贴合实际业务需求。

7.1 案例1:单条件判断(字符串匹配)

  • 输入配置:Name(String,用户名);
  • 规则条件:Name Equals “Gregory”;
  • 输出配置:Then返回True,Else返回False;
  • 测试结果:Name=Gregory→True;Name=Jared→False。

7.2 案例2:AND多条件判断(字符串+列表匹配)

  • 输入配置:Name(String)、FavoriteColor(String,喜欢的颜色);
  • 规则条件:Name Equals “Gregory” AND FavoriteColor In List [Blue, Green, Pink];
  • 输出配置:Then返回True,Else返回False;
  • 测试结果:Name=Gregory+Color=Green→True;Name=Gregory+Color=Yellow→False。

7.3 案例3:OR多条件判断(字符串+列表匹配)

  • 输入配置:Name(String)、FavoriteColor(String);
  • 规则条件:Either Name Equals “Gregory” Or FavoriteColor In List [Blue, Green, Pink];
  • 输出配置:Then返回True,Else返回False;
  • 测试结果:Name=Gregory+Color=Yellow→True(短路判断,跳过颜色);Name=Jared+Color=Green→True;Name=Jared+Color=Yellow→False。

7.4 案例4:AND+OR嵌套判断(业务高频场景)

  • 输入配置:CustomerType(String,客户类型)、ContractAmount(Decimal,合同金额);
  • 规则条件:Either(CustomerType Equals “Reseller” AND ContractAmount Greater Than 70000) Or (CustomerType Equals “Direct” AND ContractAmount Greater Than 90000);
  • 输出配置:Then触发「专属折扣流程」,Else返回「不满足折扣条件」;
  • 测试结果:Reseller+80000→True(触发折扣);Direct+80000→False(不满足);Direct+100000→True(触发折扣)。

本文围绕语句规则的全实操展开,从输入配置到条件定义,再到输出配置、多条件组合和条件编辑,核心要点可总结为5点,也是实操中需要牢记的关键:

  1. 输入是基础:按需定义变量名和数据类型,无输入条件的规则默认返回True,避免无效配置;
  2. 条件选专属:不同数据类型对应专属Verbs,直接选择即可,无需自定义,精准匹配判断需求;
  3. 输出多动作:支持New Output Data/Add to List/Change Value/Trigger Flow四种动作,可组合使用,覆盖所有业务需求;
  4. 逻辑分清楚:AND是「全满足才成立」,OR是「任一满足即成立」,嵌套逻辑实现「(且)或(且)」的复杂判断;
  5. 操作提效率:善用条件的移动/复制/删除,无需重复创建,大幅提升多条件规则的配置效率。

本文我们掌握了Decisions最核心的语句规则全流程实操,而Decisions的规则体系远不止于此,还有真值表、顺序规则、公式规则、规则集等进阶规则类型,适用于多条件多结果、流程化规则执行、算法类判断、批量规则运行等场景。下一篇我们将聚焦这些进阶规则类型,讲解其核心逻辑、适用场景和核心配置要点,同时给出规则类型选型建议,让你能根据实际业务场景选择最合适的规则类型,实现业务逻辑的高效自动化。

>> 点击了解 Decisions规则引擎 详情

技术工程师-肖工

艾体宝直播 | Redis的进阶能力与架构选型

本期直播系统梳理Redis在企业AI架构中的三大角色(向量资料库、语义缓存、会话管理)及全链路请求路径。涵盖主从故障转移、分片与热点管理机制,以及流量、延迟、缓存、索引、资源五大维...Read More

艾体宝直播 | 企业级知识库与向量索引实操

聚焦企业原始文档向可检索向量知识库的转化问题,完整拆解从文件清洗、向量化、索引构建到混合检索的全链路技术逻辑,解决POC到生产环境的架构、效能、落地三大困境。