当 低代码平台遇上自定义函数扩展,如何轻松搞定复杂业务计算!

在低代码平台中,函数公式是很多地方都需要用到的,它是打通业务逻辑和实现数据自动化的“任督二脉”。但是一些场景中,平台自带的函数无法满足你独特的业务计算需求,一个复杂的校验规则或数据转换逻辑你可能需要自己去写编码实现,或者找厂商定制。

然而在JVS的低代码、服务编排以及规则引擎中,有一个“自定义函数扩展”的能力。函数主要解决输入一个数据,然后输出对应的数据,这个数据映射的过程,我们通过函数去实现: y=f(x),例如,在表单中,一个字段的结果通过另外的字段的输入获取:

如上图所示,预计金额=单价*数量,那么这里 预算金额的结果就默认设置为一个函数取值,这个取值的方式通过函数公式进行加工获取,在JVS中会在很多地方用到函数公式,当公式不满足时需要我们自己扩展,本文介绍如何自行针对业务进行扩展函数公式。

首先咱们平台中函数公式主要使用了groovy动态语言,所以需要先了解下相关的语法。由于groovy特性,所以函数体中也可以调用JAVA工具类进行处理,这样的话可扩展性会进一步提升。

所有的函数都会保存在数据库中,保存的数据库和数据表默认为库:【jvs-design】,表:【jvs_function_base】。

name:函数名称,注意函数名与函数体中的函数名要一致

type:分类,关系到显示在哪个函数分组中

info:函数内容描述,会显示在右侧描述中,可使用html标签进行样式调整

param_count:参数数量,需要与函数体中函数参数个数保持一致

dynamic_param:是否动态参数:0代表不为动态参数,并且param_count不为[0];1代表为动态参数,并且param_count为[0]。

示例1(非动态参数):函数参数为2,那么这里param_count就填写[2],dynamic_param值为0。

示例2(动态参数,并且函数固定参数):函数固定参数为0,那么这里param_count填写[0],dynamic_param值为1。

enable_cache:是否使用缓存,固定为1。

jvs_param_type:参数类型,建议根据参数个数都使用any,涉及到参数使用其他节点值时取消类型校验。

添加函数后,在“运维设置”中,开发配置,点击“更新”,重新加载缓存即可在使用函数公式地方看到新加的函数。(此刷新缓存功能仅在2.1.8最新版本中加入)

函数body扩展:

自定义函数可以使用groovy原生语法,也可以使用动态加载导入工具类,工具类中可以自由定义函数算法。

例如1:

def LEFT(x,y){return x.take(y)}

此方法使用了groovy语法。

例如2:

import cn.hutool.core.util.ObjectUtil;def EQ(x,y){ return ObjectUtil.equals(x,y)};

此方法使用了hutool工具类。

以此类推,自己在源码中写的工具类也可在此处引入然后调用。

--------------------------------------------------------------------------------------------------------------------------------------------------------

示例:新增动态参数的一个函数:

param_count:[0]

dynamic_param:1

import cn.hutool.core.util.NumberUtil;

def ADD(... x) {

Number sum = 0;

for (int i = 0; i < x.size(); i++) {

if (x[i] instanceof String) {

x[i] = NumberUtil.parseNumber(x[i])

};

sum = NumberUtil.add((Number) x[i], (Number) sum);

};

return sum;

};

全部评论

相关推荐

11-17 18:28
华东政法大学
位置:互联宝地,离地铁站一般,下了地铁如果电梯不排队5分钟能到工位。设施:食堂很大,种类很多,一顿差不多20左右吧,吃得多可能就会贵一些,有自选,吃得少十几块也ok。然后有健身房!每天下午六点多人都很多!!中午人也很多福利:目前对于校招生来说有很多的活动可以参加,平时也会有一些活动,都是有奖品的。但是没有什么下午茶或者每日水果。另外就是工作时间10-7-5,如果工作没做完肯定是要自己加班做的,但是还好,基本加班都是在月结那几天,工作强度挺舒服的。工作氛围也不错,带教和领导都对新人很重视,公司也会定期的给校招生培训,反正可以看出来是花了时间和精力的。设施:食堂很大,种类很多,一顿差不多20左右吧,吃得多可能就会贵一些,有自选,吃得少十几块也ok。然后有健身房!每天下午六点多人都很多!!中午人也很多福利:目前对于校招生来说有很多的活动可以参加,平时也会有一些活动,都是有奖品的。但是没有什么下午茶或者每日水果。另外就是工作时间10-7-5,如果工作没做完肯定是要自己加班做的,但是还好,基本加班都是在月结那几天,工作强度挺舒服的。工作氛围也不错,带教和领导都对新人很重视,公司也会定期的给校招生培训,反正可以看出来是花了时间和精力的。
美团公司福利 3016人发布
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务