逻辑服务编排的定义变量,将数据和逻辑解耦,配置化实现数据驱动流程!
在各行各业需求变化快的场景中,每次一个微小的需求变更或者跨系统数据协同的复杂场景都需要花费大量的精力去重复性开发,这种方式耗时费力。
现在可以换一种思路了。通过可视化的方式去编排和调整,这种方式可以使业务流程中的关键数据点被独立定义、灵活拼装和自由传递,复杂的业务规则不再需要反复写代码去实现,而是通过通过简单的配置去搞定,将数据与逻辑的解耦,实现真正的配置化数据驱动流程。

在JVS逻辑引擎中,“定义变量”的节点是实现高效业务流程编排的核心组件。
1、节点变量的概念
在逻辑配置中通过 引入“定义变量”节点创建一个变量,并可对这个变量进行赋值,变量可以存储各种类型的数据,如数字、字符串、对象等,变量存储的数据可以是直接写入的静态数据,也可以是通过公式计算后的计算结果数据,在本节点之后的逻辑配置中可以通过节点输出结果使用定义的变量数据。
2、变量使用场景:
- 存储数据:逻辑执行过程中有临时数据存储的需求。一旦定义了变量,后续节点可以通过输出结果名多次引用同一数据,避免了重复获取数据的开销。
- 复用数据:变量可以作为数据中转站,将不同格式的数据标准化处理后传递给下游节点,减少复杂数据转换的编码工作量。
- 便于理解:使用有意义的变量名可以使代码更易读和维护(比如客户信用评分),新成员能够快速理解业务逻辑。
- 动态操作:变量的值在程序运行过程中可以改变,可以处理动态业务场景。比如,根据用户实时行为调整推荐策略,或者根据库存变化动态调整订单流程。
3、具体配置操作
- 变量的创建
进入逻辑引擎设计中,通过引入“定义变量”节点 进入配置画布,连接节点的执行线,形成可以执行的任务流程。

- 节点的配置面板,如下图所示:

①:点击对应的节点,右侧弹出配置属性面板
②:可以修改节点的名称
③:可以输入该节点的备注说明
④:设置该节点变量的固定值(静态设置)
⑤:可以设置该节点的值通过公式计算生成(动态生成)
⑥:变量的条件赋值(历史版本兼容),根据不同的条件下 对变量进行赋值操作
⑦:变量的条件赋值
⑧:变量的操作结果,对配置的提交、测试、对该节点输出结果定义。
- 变量的赋值
变量的赋值系统通过了两种方式,一种是直接设置变量结果(静态赋值)如下图所示:

另外一种方式是动态 赋值,赋值的方式通过公式进行赋值:

点击公式以后,在弹出的公式配置中,设置业务结果

- 变量的使用
后续环节要引用前序环节输出的变量结果,那么在系统中只需要通过公式配置中 选择使用即可,那么我们看下下面的示例:

我们再前序的节点中定义了一个静态变量与一个动态变量(通过公式赋值的),需要在提示环节输出 两个变量的求和,那么配置如下:

通过配置,最后执行的效果如下:

5、变量的修改赋值
变量绑定,定义变量节点中变量绑定通常用于给其他节点赋值或者接收赋值。
6、场景案例
场景一:在某条件下给某节点赋值
下图:当【定义变量】节点值为a时【定义变量1】节点通过变量绑定赋值成aa。


①:变量绑定的条件设置
②:按公式设置变量绑定的条件
③:变量选择:选择需要赋值绑定的节点
④:节点取值可以是具体值、字段、公式或者空
⑤:添加多行变量绑定
⑥:添加多组变量
⑦:结构定义,数据结构不一致时结构定义点击引用测试。
配置绑定变量的条件,条件是公式。

执行结果如下,【定义变量】节点值变成aa

场景二:循环变量赋值,一次性打包下载多行文件
在这样的逻辑中我们通过勾选多条数据点击触发逻辑实现,用【定义变量】节点绑定变量值,使循环节点每执行条数据时就赋次值,然后对每次循环赋值取并集,最后【zip压缩】节点就取定义变量的值。
注意,如果是向数组中添加参数,在循环画布中定义变量赋值时用函数LISTADD

在循环容器中给循环外边(上图获取多个文件地址)【定义变量】节点赋值。

变量绑定按公式赋值,如下图是连线1的赋值

循环多条数据多个文件,分两条线赋值按顺序执行,如下图是连线2的赋值

最后赋值执行结果如下

在线demo:https://logic.bctools.cn
开源框架:https://gitee.com/software-minister/jvs
