跳到主要内容

服务端开发

实现组件扩展接口

1. 实现接口 IProcess,重写其方法。

提示

注意:组件类开发完后要在其类上加注解 @Service ,确保该类在项目spring的扫描目录下。

IProcess 类属性说明

方法说明
String getName();组件唯一标识,如:mysqlQueryProcess
void process(ProcessContent processContent);组件执行逻辑,用户在此方法内实现组件功能。

2. 使用 注解 开发

注解及属性说明

注解说明属性属性说明属性默认值
@ManateeScan("xxx.xxxx")启动类注解,加在启动类上,不添加组件无法实现
@ManateeService标识该类为组件类
@ManateeProcess组件执行逻辑,在标识方法内实现组件功能code组件英文名称空字符串
name组件中文名称空字符串
@ManateeParams组件入参required是否必填false
allowMultiple是否是listfalse
dataType参数类型空字符串
dataTypeClass参数类型Void.class
value映射对象

注入类

    @Resource
protected IInputUtil inputUtil;

@Resource
protected IOutputUtil outputUtil;

@Resource
private VariableUtil variableUtil;

Api说明

描述Api
获取上下文中的字符串内容,并动态替换${xxx}variableUtil.calVarInConf(processContent,key);
获取流程图中配置值processContent.getStepConfString(key);
获取上下文中变量值processContent.getValue(key);
获取数据处理后内容(当handleType为batch时,获取批量数据处理后的结果)inputUtil.getHandleObject(processContent,Key);
设置默认返回值的对象名outputUtil.setDefaultReturnKey(processContent,defaultReturnKey);
对内容进行数据处理inputUtil.getHandleMapConf(processContent, queryParamsObj);
把数据放入返回, 默认对象名为outputDataoutputUtil.putData(processContent,value);
结果对象名引擎内置统一,不可更改。
在返回中显示引擎内置统一,不可更改。
抛出异常throw new BizException(ResultCode.SYSTEM_ERROR,"params is not json")

示例

  1. 实现接口 IProcess,重写其方法
@Service
public class DemoProcess implements IProcess {

@Resource
protected IOutputUtil outputUtil;

@Resource
private VariableUtil variableUtil;

@Override
public void process(ProcessContent processContent) throws BizException {
String name = variableUtil.calVarInConf(processContent, "name");
String result = "hello " + name;
outputUtil.putData(processContent, result);
}

@Override
public String getName() {
return "demoProcess";
}
}
  1. 使用 注解 开发
@Service
@ManateeService
public class xxxxxProcess {

@ManateeProcess(name = "组件中文名", code = "xxxxxProcess")
public JSONObject getUserTaskExtProperties(@ManateeParams("param1") String param1) throws BizException {
JSONObject jsonObject = new JSONObject();
// TODO: 业务逻辑
return jsonObject;
}

}