Skip to main content

代码段

1、说明

用于在逻辑中编写脚本实现自定义业务,使用场景主要在处理一些配置比较复杂或无法通过简单配置实现的逻辑,支持用户选择编程语言,直接通过代码段的方式实现业务。

2、配置

2.1、输入

点击入参的输入打开弹窗,此处填写入参的名称和值;

名称:名称就是在代码段中,可以通过此名称获取到参数的 KEY

值:值可以是写死的字符,数字等基础类型,也可以是公式编辑器取上下文中的某一个参数传入,对类型不做要求

2.2、出参设置

根据实际业务需要,控制是否使用返回值;

如果不需要则关闭开关;

如果需要则打开开关,选择对应的返回值类型,设置返回值的名称使其可以在后续节点被使用

3、代码段编辑

3.1、选择语言

指定脚本类型,当前仅支持 java

3.2、编辑代码

左侧自动载入 demo 代码,可在此基础上进行自己的代码编辑

3.3、代码测试

上图右侧输入参数为测试数据输入,输入自己调试需要的 demo 数据

点击测试按钮则会触发执行代码,并返回日志与执行结果

4、代码开发规范

4.1、java

4.1.1、依赖

默认 import 如下包;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.<em>;
import com.xuelangyun.microflow.core.node.script.executor.helper.JavaMfScriptHelper;
</em><em>import org.apache.commons.collections4.</em>;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.<em>;
import org.springframework.beans.BeanUtils;
</em><em>import org.springframework.util.</em>;
此外可以自己添加apache-common,guava,spring等需要的工具包;

4.1.2、脚本接口入参

4.1.2.1、JavaMfScriptHelper helper

java 帮助类,提供 ScriptLogHelper,TypeHelper

4.1.2.1.1、ScriptLogHelper

脚本日志帮助类,通过此类打印日志,在编辑态可以在调试界面进行查询,在运行态将在后台日志打印

使用方法如下:

helper.getLogHelper().logInfo("INFO信息");
helper.getLogHelper().logInfo("INFO提示+异常:",new RuntimeException());
helper.getLogHelper().logWarn("警告信息");
helper.getLogHelper().logWarn("警告信息+异常:",new RuntimeException());
helper.getLogHelper().logError("错误提示");
helper.getLogHelper().logError("错误提示+异常:",new RuntimeException());
4.1.2.1.1、TypeHelper

类型转换帮助类

使用方法如下

UserDTO user = helper.getTypeHelper().parseObject(param.get("user"), UserDTO.class);
JSONObject user = helper.getTypeHelper().parseObject(param.get("user"));
List<UserDTO> userList = helper.getTypeHelper().parseArray(param.get("userList"), UserDTO.class);
JSONArray userArray = helper.getTypeHelper().parseArray(param.get("userList"));
4.1.2.2、Map<String, Object> param

param 涵盖用户设置的所有入参,以 KV 形式存储

K-> 设置的参数名称

V-> 设置的参数值