一、函数在规则引擎中的作用数据存储和共享函数配置允许在规则引擎中存储和访问数据。通过定义变量可以将数据存储在规则引擎中使其可供规则和决策过程使用。这样可以消除重复数据存储的需求提高数据的共享和重用性。决策逻辑的简化通过使用函数可以将规则引擎中的决策逻辑抽象为更具可读性和可维护性的形式。变量可以用于存储和操作不同类型的数据如数字、字符串、日期等。通过使用变量可以使规则的编写和维护更加简单减少重复的代码并提高规则的可读性和可维护性。动态性和灵活性函数配置允许在规则引擎中动态设置和更新变量的值。这样当系统中的数据或环境发生变化时可以实时更新变量的值从而影响决策过程的结果。通过改变变量的值可以灵活地调整规则的行为而不需要修改底层的规则逻辑。与外部系统的集成函数配置使规则引擎能够与外部系统进行集成。变量可以用于存储和传递与外部系统交互所需的数据如数据库查询结果、API调用返回值等。通过与外部系统的集成规则引擎可以获取外部数据并将其用于决策过程从而提高决策的准确性和实时性。可管理性和可维护性通过函数配置规则引擎中的数据和逻辑被分离开来提高了系统的可管理性和可维护性。函数配置使得对数据和逻辑的修改更加简单和集中化。通过集中管理函数可以减少代码的冗余性降低错误的风险并简化对规则引擎的修改和扩展。二、函数的类型在JVS规则引擎中函数分为以下几种类型。APIDBSQLGroovyPYTHONETL函数加工通过函数式的方式 yf(x)这种方式获得的数据加工从一些入参获得另外一些出参的过程这里x表示 单个、或者单一一条数据多个字段的输入得到单一一个数据的输出。例如如果年龄为20-30岁之间那么输出结果result是“通过” 也就是如果 20age30那么 resulttrue 的过程 这里age、result 都是基础变量。算子编排复合变量是通过对多行数据的操作或者对多行数据的 处理得到的结果 这里的结果里边可能包含多条数据多个字段我们把他称为复合变量。例如如果某个企业被执行案件超过5条需要输出被执行案件的数量以及对应的明细清单那么这里边需要定义 一个复合变量 cases这里cases是一个list数据其中是把被执行案件全部记录下来如下所示{案件1执行主体1执行金额1执行结果1案件2执行主体2执行金额2执行结果2案件3执行主体3执行金额3执行结果3}还需要定义个变量no no的值等于 计算cases 里边的案件数量当案件数量大于5是 把cases 的明细返回给调用方。这里cases就是个一复合变量这个复合变量的来源可能来源于api查询回来的结果也可能是来源于数据库查询的结果 。SQL变量sql脚本取数通过SQL脚本可以便捷的从数据库中取数并且自定义SQL支持传参可满足技术人员复杂多变的数据加工处理。三、界面介绍主要分为两大区域函数列表和函数详情如下图。形成这样一个展现形式函数类型-函数分类-函数列表。四、函数的创建函数列表将在系统中所有的函数界面化展示可以通过编辑与设计对函数修改。在函数页面可以通过下图三处点击新建函数。①选择函数类型后创建自定义分类函数。②在指定函类型下创建创建自定义分类函数。③在指定函数指定分类下创建函数。五、函数式编程实现变量加工函数式编程是一种编程方法它以类似 Excel 表格的方式进行数据处理和计算。它的特点是使用公式和函数来描述数据之间的关系和计算逻辑。在函数式编程中数据被组织成表格的形式每列代表一个数据字段或变量每行代表一个数据记录。可以通过公式和函数将不同的数据字段进行计算和操作生成新的计算结果。以下是类 Excel 的函数式编程的特点和优势公式和函数类 Excel 的函数式编程使用公式和函数来表示数据之间的关系和计算逻辑。可以在变量的配置过程中引用其他入参或者变量的值并进行各种计算、逻辑操作和数据转换。数据引用和依赖函数式编程中公式和函数可以引用其他数据的值形成数据的引用和依赖关系。当被引用的单元格的值发生变化时依赖于它的公式和函数会自动更新计算结果。数据处理和转换通过公式和函数可以进行各种数据处理和转换操作例如数值计算、逻辑判断、文本处理、日期操作等。这使得数据的加工和转换变得简单和灵活。可视化展示函数式编程通常提供可视化的界面来展示数据和公式的计算结果。开发者可以直观地查看和分析数据观察公式和函数的计算过程。六、函数变量的作用范围在规则引擎中都是局部变量类型它们在规则引擎中定义的具有局部作用域的变量。它们仅在定义它们的规则、决策或操作内部可见和使用。局部变量通常用于存储在特定规则或决策中临时需要使用的数据。例如局部变量可以用于存储临时计算结果、中间状态的值或特定规则的输入参数。局部变量的生命周期通常在规则或决策执行期间有效它们在规则或决策执行完毕后被销毁。局部变量适用于在特定规则或决策中临时使用的数据具有更短暂的生命周期和较小的作用范围。可以提高规则引擎的性能、可读性和维护性同时满足不同场景下的数据存储和访问需求。七、函数编辑函数设计器如下图所示采用函数式编程通过函数将数据进行加工映射生成业务场景中所需要的数据。其中函数列表中包括7大类型的函数基本上包括日常常用的一些函数方法函数编辑区是通过伪代码的形式实现的具体变量场景需求使用的方式是类似与excel的操作方式点击下方函数系统会自动将函数引入到编辑区在右选对应接口对应输出的字段成为编辑区内函数的入参。八、函数引用支持常用的各类函数鼠标悬空时将显示函数的具体说明点击函数时系统自动将对应函数引入到变量编辑区内容九、函数的测试如下图所示在函数编辑页面输入测试数据后点击测试直接可以展示测试结果。同时也可以在函数列表对指定函数进行模拟测试如下图
(二十六)「JVS-Rules规则引擎 V2.5」— 函数管理
一、函数在规则引擎中的作用数据存储和共享函数配置允许在规则引擎中存储和访问数据。通过定义变量可以将数据存储在规则引擎中使其可供规则和决策过程使用。这样可以消除重复数据存储的需求提高数据的共享和重用性。决策逻辑的简化通过使用函数可以将规则引擎中的决策逻辑抽象为更具可读性和可维护性的形式。变量可以用于存储和操作不同类型的数据如数字、字符串、日期等。通过使用变量可以使规则的编写和维护更加简单减少重复的代码并提高规则的可读性和可维护性。动态性和灵活性函数配置允许在规则引擎中动态设置和更新变量的值。这样当系统中的数据或环境发生变化时可以实时更新变量的值从而影响决策过程的结果。通过改变变量的值可以灵活地调整规则的行为而不需要修改底层的规则逻辑。与外部系统的集成函数配置使规则引擎能够与外部系统进行集成。变量可以用于存储和传递与外部系统交互所需的数据如数据库查询结果、API调用返回值等。通过与外部系统的集成规则引擎可以获取外部数据并将其用于决策过程从而提高决策的准确性和实时性。可管理性和可维护性通过函数配置规则引擎中的数据和逻辑被分离开来提高了系统的可管理性和可维护性。函数配置使得对数据和逻辑的修改更加简单和集中化。通过集中管理函数可以减少代码的冗余性降低错误的风险并简化对规则引擎的修改和扩展。二、函数的类型在JVS规则引擎中函数分为以下几种类型。APIDBSQLGroovyPYTHONETL函数加工通过函数式的方式 yf(x)这种方式获得的数据加工从一些入参获得另外一些出参的过程这里x表示 单个、或者单一一条数据多个字段的输入得到单一一个数据的输出。例如如果年龄为20-30岁之间那么输出结果result是“通过” 也就是如果 20age30那么 resulttrue 的过程 这里age、result 都是基础变量。算子编排复合变量是通过对多行数据的操作或者对多行数据的 处理得到的结果 这里的结果里边可能包含多条数据多个字段我们把他称为复合变量。例如如果某个企业被执行案件超过5条需要输出被执行案件的数量以及对应的明细清单那么这里边需要定义 一个复合变量 cases这里cases是一个list数据其中是把被执行案件全部记录下来如下所示{案件1执行主体1执行金额1执行结果1案件2执行主体2执行金额2执行结果2案件3执行主体3执行金额3执行结果3}还需要定义个变量no no的值等于 计算cases 里边的案件数量当案件数量大于5是 把cases 的明细返回给调用方。这里cases就是个一复合变量这个复合变量的来源可能来源于api查询回来的结果也可能是来源于数据库查询的结果 。SQL变量sql脚本取数通过SQL脚本可以便捷的从数据库中取数并且自定义SQL支持传参可满足技术人员复杂多变的数据加工处理。三、界面介绍主要分为两大区域函数列表和函数详情如下图。形成这样一个展现形式函数类型-函数分类-函数列表。四、函数的创建函数列表将在系统中所有的函数界面化展示可以通过编辑与设计对函数修改。在函数页面可以通过下图三处点击新建函数。①选择函数类型后创建自定义分类函数。②在指定函类型下创建创建自定义分类函数。③在指定函数指定分类下创建函数。五、函数式编程实现变量加工函数式编程是一种编程方法它以类似 Excel 表格的方式进行数据处理和计算。它的特点是使用公式和函数来描述数据之间的关系和计算逻辑。在函数式编程中数据被组织成表格的形式每列代表一个数据字段或变量每行代表一个数据记录。可以通过公式和函数将不同的数据字段进行计算和操作生成新的计算结果。以下是类 Excel 的函数式编程的特点和优势公式和函数类 Excel 的函数式编程使用公式和函数来表示数据之间的关系和计算逻辑。可以在变量的配置过程中引用其他入参或者变量的值并进行各种计算、逻辑操作和数据转换。数据引用和依赖函数式编程中公式和函数可以引用其他数据的值形成数据的引用和依赖关系。当被引用的单元格的值发生变化时依赖于它的公式和函数会自动更新计算结果。数据处理和转换通过公式和函数可以进行各种数据处理和转换操作例如数值计算、逻辑判断、文本处理、日期操作等。这使得数据的加工和转换变得简单和灵活。可视化展示函数式编程通常提供可视化的界面来展示数据和公式的计算结果。开发者可以直观地查看和分析数据观察公式和函数的计算过程。六、函数变量的作用范围在规则引擎中都是局部变量类型它们在规则引擎中定义的具有局部作用域的变量。它们仅在定义它们的规则、决策或操作内部可见和使用。局部变量通常用于存储在特定规则或决策中临时需要使用的数据。例如局部变量可以用于存储临时计算结果、中间状态的值或特定规则的输入参数。局部变量的生命周期通常在规则或决策执行期间有效它们在规则或决策执行完毕后被销毁。局部变量适用于在特定规则或决策中临时使用的数据具有更短暂的生命周期和较小的作用范围。可以提高规则引擎的性能、可读性和维护性同时满足不同场景下的数据存储和访问需求。七、函数编辑函数设计器如下图所示采用函数式编程通过函数将数据进行加工映射生成业务场景中所需要的数据。其中函数列表中包括7大类型的函数基本上包括日常常用的一些函数方法函数编辑区是通过伪代码的形式实现的具体变量场景需求使用的方式是类似与excel的操作方式点击下方函数系统会自动将函数引入到编辑区在右选对应接口对应输出的字段成为编辑区内函数的入参。八、函数引用支持常用的各类函数鼠标悬空时将显示函数的具体说明点击函数时系统自动将对应函数引入到变量编辑区内容九、函数的测试如下图所示在函数编辑页面输入测试数据后点击测试直接可以展示测试结果。同时也可以在函数列表对指定函数进行模拟测试如下图