Skip to main content
Version: Next

自定义服务

服务编排

1、通过拖拽左侧工具栏组件图标至画布,再设置节点的属性,最后将各个节点拖拽连线起来,即完成了服务的编排

2、服务一般由开始节点、结束节点,以及操作节点和连线构成,如下图所示:

3、服务可以通过连线实现流程分支,在服务中节点的下级节点可以是一个,也可以是多个。当只有一个下级节点时不用设置连线的执行条件属性;当有多个下级分支节点时,只能有一个默认的连线,即不设置执行条件,其他连线需要设置执行条件(并行除外),执行的顺序是按设置条件的先后顺序依次判断执行条件是否返回true,返回true则执行该分支,否则继续判断下一个分支的执行条件,当条件分支都不返回true时,则执行默认连线的分支。即实现编程语言中的流程控制:
if(...)
...
else if(...)
...
else
...

如下图所示:

4、节点属性设置,可以是字符串常量,也可以通过执行表达式来设置值,凡属性框右侧有fx图标的都可以使用表达式。如下图所示:

服务定义

设置服务名称、编号以及服务的入参出参配置方法等,如下图所示:

属性描述是否必填
服务名称用于在服务列表显示
服务编号服务执行的唯一标识
服务分类对服务进行分类
输入参数对服务的输入参数定义,可以点击右图标弹出参数设计器进行勾选
输出参数对服务的输出结果定义,可以点击右图标弹出参数设计器进行勾选
匿名访问定义服务否可以匿名访问

按钮

按钮说明
退出建议使用该按钮退出服务的编排,退出时会检查保存状态并提示
放大对画布放大显示,不改变节点尺寸
缩小对画布缩小显示,不改变节点尺寸
顶部对齐当选择多个节点时,可设置顶部对齐
左对齐当选择多个节点时,可设置左对齐
右对齐当选择多个节点时,可设置右对齐
底部对齐当选择多个节点时,可设置底部对齐
删除删除选择的所有节点
撤销撤销对服务的修改
恢复恢复对服务的修改
在线调试当服务保存后,该按钮显示
保存保存服务
另存为将服务当前状态保存为一个新的服务

服务执行

1、服务执行时,创建上下文ctx(DataMap)作为服务的数据树,供各个节点设置和访问

2、服务的入参在上下文的param属性上,通过ctx.param访问

3、服务会将字符类型json格式的入参转换为:DataMap、List<DataMap>、Object[]以便于在节点中使用

4、服务执行从流程开始节点作为起点,按连线的箭头方向顺序执行各个节点,到流程结束节点服务执行结束并返回结束节点的返回值。(如果没有结束节点则返回最后执行节点的值)

DataMap方法说明

方法参数返回值说明
add(String key,Object value)DataMap添加对象
addAll(Map map)DataMap添加Map
convert(Class clazz)Map转换Map值类型
getBigDecimal(String key)BigDecimal获取BigDecimal
getBigDecimal(String key,BigDecimal defaultValue)BigDecimal获取BigDecimal
getBoolean(String key)boolean获取布尔值
getBoolean(String key,boolean defaultValue)boolean获取布尔值
getDate(String key)Date获取日期
getDate(String key,Date defaultValue)Date获取日期
getDouble(String key,Double defaultValue)Double获取Double
getDouble(String key)Double获取Double
getInteger(String key)Integer获取整数
getInteger(String key,Integer defaultValue)Integer获取整数
getLong(String key)Long获取长整数
getLong(String key,Long defaultValue)Long获取长整数
getString(String key,String defaultValue)String获取字符
getString(String key)String获取字符
getValue(String key,Object defaultValue)Object获取对象值
load(Object[] objects)DataMap加载对象数组

Result方法说明

接口返回结果,Result继承至DataMap,实例对象也同时拥有DataMap的方法

方法参数返回值说明
error(String message,Object ext)Result失败结果
errorResult失败结果
error(String message)Result失败结果
ok(String message,List result,Object ext)Result成功结果
ok(String message,List result)Result成功结果
okResult成功结果
ok(List result)Result成功结果
ok(List result,Long size)Result成功结果
ok(String message)Result成功结果