1. 概述
本文描述的是离线开发任务外部调用运行接口及sdk使用方式。
2. 准备
2.1 注册第三方系统
外部调用opai接口需要免登获取token,免登需要先注册第三方系统获取对应的。
2.2获取token接口
- url
/oapi/lczAuth/v1/getToken - method
POST - 请求头
Content-Type:application/json
- 请求体
{ "tenantIdent": "", "systemCode": "", "systemSecret": "" }
- 返回
{ "code": "string", "content": { "token": "", "expires_in": 0 //还剩多少秒过期 }, "msg": "string", "success": true }
3. 接口
3.1 运行
- url
oapi/lczBatchWorkEngine/task/run - method
POST - 请求头
参数名 | 描述 | 是否必须 | |
---|---|---|---|
Authorization | 认证参数,免登token | 必须 | 需预先通过免登接口获取 |
SystemCode | 第三方系统编码 | 必须 | |
TenantIdent | 租户标识 | 非必须 | 不传则使用默认租户 |
- 请求体
{
"name": "",
"volumeName":"",
"startNodeId":"",
"finishNodeId":"",
"variables":{
"key":"value"
}
}
参数名 | 是否必须 | 类型 | 描述 |
---|---|---|---|
name | 必选 | string | 任务内部名称 |
volumeName | 必选 | string | 应用内部名称 |
variables | 可选 | map | 参数值键值对 |
startNodeId | 可选 | string | 指定开始环节 |
finishNodeId | 可选 | string | 指定结束环节 |
- 返回
{
"success": true,
"msg": null,
"code": null,
"content":{
"instanceId":""
}
}
3.2 结果
- url
oapi/lczBatchWorkEngine/task/result - method
GET - 请求头
参数名 | 描述 | 是否必须 | |
---|---|---|---|
Authorization | 认证参数,免登token | 必须 | 需预先通过免登接口获取 |
SystemCode | 第三方系统编码 | 必须 | |
TenantIdent | 租户标识 | 非必须 | 不传则使用默认租户 |
请求参数
instanceId={instanceId}返回
{
"success": true,
"msg": null,
"code": null,
"content":{
"logInfo": {
"instanceId": "",
"wfDefId": "",
"version": "",
"startTime": 1717397274880,
"finishTime": 1717397274880,
"status":""
}
}
}
流程状态 content.logInfo.status
● RUNNING 运行中
● SUCCESS 成功
● FAIL 失败
● ABORT 终止
3.3 停止
- url
oapi/lczBatchWorkEngine/task/stop - method
GET - 请求头
参数名 | 描述 | 是否必须 | |
---|---|---|---|
Authorization | 认证参数,免登token | 必须 | 需预先通过免登接口获取 |
SystemCode | 第三方系统编码 | 必须 | |
TenantIdent | 租户标识 | 非必须 | 不传则使用默认租户 |
请求参数
instanceId={instanceId}返回
{ "success": true, "msg": null, "code": null }
注意:停止是异步的,停止接口返回并不能确保任务已停止。
4. SDK
4.1 引入依赖
maven方式引人
<dependency>
<groupId>com.datanew.tool</groupId>
<artifactId>lcz-dataprovide-sdk</artifactId>
<version>1.0.0</version>
</dependency>
如果无法连入lcz资源仓库则联系相关人员获取jar包。
4.2 设置lcz服务地址
通过服务自身的监听方式在启动时,设置服务地址,服务地址全局保存,非实时。
LczServerPathConfig.setServerPath(lczServerPath);
lczServerPath提供相对地址自定拼接。
4.3 demo
// 认证信息
AuthProperty authProperty = new AuthProperty();
authProperty.setTenantIdent("租户标识");
authProperty.setSystemCode("系统编码");
authProperty.setSystemSecret("系统凭证秘钥");
// 执行任务信息
ExecuteTaskProperty executeTask = new ExecuteTaskProperty();
executeTask.setVolumeName("应用内部名称");
executeTask.setTaskName("任务内部名称");
// 任务参数
Map<String, Object> variables = new HashMap<>();
variables.put("参数名", "参数值");
executeTask.setVariables(variables);
// 声明执行对象
TaskExecute taskExecute = new TaskExecute(authProperty, executeTask);
// 运行
String instanceId = taskExecute.run();
// 结果
String json = taskExecute.result(instanceId);
// 停止
taskExecute.stop(instanceId);
作者:wangjingxin 创建时间:2024-10-23 09:51
最后编辑:wangjingxin 更新时间:2025-04-22 15:31
最后编辑:wangjingxin 更新时间:2025-04-22 15:31
