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