文章目录
开发文档
1 更新历史
时间 | 版本 | 描述 |
---|---|---|
20181212 | V1.0 | XXXXXX。 |
20181221 | V1.1 | XXXXXX。 |
XXXXXX。 | ||
20181222 | V1.2 | XXXXXX。 |
20190125 | V1.2.1 | XXXXXX。 |
20190125 | V1.2.2 | XXXXXX。 |
20190313 | V1.3 | XXXXXX。 |
2 接口
2.1 任务管理
2.1.1 [下拉框] 可选标签接口
- 可以选择可用的标签 + 已选择申请单的正在开发的标签(过滤掉已经在其它任务中绑定了申请单正在开发中的标签)。
- 接口:
GET /dataDev/tags/select?taskCode={taskCode}&tableId={tableId}
- 请求参数:
参数字段 | 参数类型 | 参数描述 |
---|---|---|
taskCode | String | 当前任务的编码 |
tableId | Long | 选择的输出表 id (可选)(没选择时传空;选择输出表或输出表变化时带上此参数请求刷新下拉框) |
- 返回参数:
{
"code": 200,
"msg": "查询待开发标签列表成功!",
"data": [{
"id": 230, // 标签id
"createUserId": 168, // 创建人id
"createUserName": "KYC标签管理员", // 创建人名称
"createTime": 1536297084000, // 创建时间
"updateUserId": 168, // 更新人id
"updateUserName": "KYC标签管理员", // 更新人名称
"updateTime": 1536301384000, // 更新时间
"tagCode": "education", // 标签编码
"tagName": "学历", // 标签名称
"tagDesc": "学历", // 标签描述
"tagRule": "学历", // 标签规则
......
}, ......]
}
2.1.2 查询任务列表
- 接口:
GET /dataDev/tasks/list
- 请求参数:
参数字段 | 参数类型 | 参数描述 |
---|---|---|
pageNum | int | 页码 |
pageSize | int | 每页个数 |
taskType | int | 任务类型:1 sql 任务 ;2 spark 任务 |
multipleStatus | int | 任务状态:0 开发中 、1 已发布 、2 发布重新开发中 |
不同状态英文逗号分隔(根据设计稿再确定组合) | ||
例如:未发布( 0 ),已发布( 1,2 ) | ||
例如:开发中( 0,2 ),已发布( 1 ) | ||
taskName | String | 任务名称(模糊) |
belongFlowCode | String | 所属流程编码(流程任务关联表查询,已发布的最新版本的所属流程,未发布可能不存在关联) |
chargeUserId | Long | 负责人用户 id |
- 返回参数:
{
"code": 200,
"msg": "查询任务列表成功!",
"data": {
"total": 4,
"list": [{
"id": 13, // 任务id(查看详情用)
"createUserId": 1, // 创建人id
"createUserName": "系统管理员", // 创建人姓名
"createTime": 1545046435000, // 创建时间
"updateUserId": 1, // 更新人id
"updateUserName": "系统管理员", // 更新人姓名
"updateTime": 1545046746000, // 更新时间
"delFlag": 0, // 删除标记
"status": 0, // 状态:0 开发中(属于未发布);1 已发布、2 发布重新开发中(属于已发布)
"taskType": 1, // 任务类型
"taskCode": "BDOP_TASK_TEST1", // 任务编码
"taskName": "测试任务1", // 任务名称
"taskDesc": "测试任务1描述", // 任务描述
"language": 0, // 源代码语言
"chargeUserId": 1, // 负责人id
"chargeUserName": "系统管理员", // 负责人姓名
"latestVersion": "954972d47e9dfe07a9d3c1ae16e2c261", // 最新的发布版本号
"developVersion": "5ec021c99e3d85eee2418d5aa862b98e", // 开发版本号
"belongFlowCodes": ["BDOP_FLOW_2018122015581744", "BDOP_FLOW_2018122015583499"],
// 所属流程code列表
"belongFlowNames": ["测试流程1", "测试流程3"] // 所属流程名称列表(展示)
}],
"pageNum": 1,
"pageSize": 1,
"size": 1,
"startRow": 1,
"endRow": 1,
"pages": 4,
"prePage": 0,
"nextPage": 2,
"isFirstPage": true,
"isLastPage": false,
"hasPreviousPage": false,
"hasNextPage": true,
"navigatePages": 8,
"navigatepageNums": [1, 2, 3, 4],
"navigateFirstPage": 1,
"navigateLastPage": 4
}
}
2.1.3 创建任务
- 接口:
POST /dataDev/tasks/task
- 请求参数
Body
(application/json
):
{
"taskCode": "TEST", // 任务code自定义(不填写默认规则,限制只能英文字母)
"taskName": "测试任务", // 任务名称
"taskType": 1, // 任务类型(常量)
"chargeUserId": 1, // 负责人用户id(不选择默认创建人,前端也可控制必选)
"taskDesc": "测试任务描述" // 任务描述
}
- 返回参数:
{
"code": 200,
"message": "创建任务成功!",
"data": 13 // 新增成功的任务id
}
2.1.4 修改任务
- 接口:
PUT /dataDev/tasks/task/{id}
- 请求参数:
参数字段 | 参数类型 | 参数描述 |
---|---|---|
id | Long | 任务 id |
- 请求参数
Body
(application/json
):
{
"id": 1, // 任务id(必填)
"taskType": 2, // 任务类型:1 sql 任务,2 spark 任务(不填写不修改)
"language": 1, // 任务源代码语言(前端控制)
"taskName": "测试任务", // 任务名称(如要修改名称需要检查是否有重复的名称)
"chargeUserId": 1, // 负责人用户id(不填写不修改)
"taskDesc": "测试任务描述" // 任务描述
}
- 返回参数:
{
"code": 200,
"msg": "修改任务成功!",
"data": null
}
2.1.5 查询任务详情
- 接口:
GET /dataDev/tasks/task/{id}
- 请求参数:
参数字段 | 参数类型 | 参数描述 |
---|---|---|
id | Long | 任务 id |
- 返回参数:
{
"code": 200,
"msg": "查询任务成功!",
"data": {
"id": 14, // 任务id(修改任务时使用)
"createUserId": 1, // 创建人id
"createUserName": "系统管理员", // 创建人姓名
"createTime": 1545046469000, // 创建时间
"updateUserId": 1, // 更新人id
"updateUserName": "系统管理员", // 更新人姓名
"updateTime": 1545102137000, // 更新时间
"delFlag": 0, // 删除标记
"status": 1, // 状态
"taskType": 2, // 任务类型(1 SQL、2 Spark)
"taskCode": "BDOP_TASK_TEST2", // 任务编码
"taskName": "测试任务2", // 任务名称
"taskDesc": "测试任务2描述", // 任务描述
"language": 4, // 源代码语言
"chargeUserId": 1, // 负责人id
"chargeUserName": "系统管理员", // 负责人姓名
"latestVersion": "1f9062a6eb5769dea9bc38c8e94fb497", // 最新的发布版本号
"developVersion": "ea3241c0cc9f85b5eec1b47eaf457aaf", // 开发版本号
"belongFlowCodes": ["BDOP_FLOW_2018122015581744"], // 所属流程code列表
"belongFlowNames": ["测试流程1", "测试流程2"], // 所属流程名称列表
// 开发任务信息(开发保存和提交都是操作此对象)
"taskPublish": {
"id": 4, // 任务开发id
"createUserId": 1, // 创建人id
"createUserName": "系统管理员", // 创建人姓名
"createTime": 1545046469000, // 创建使劲
"updateUserId": 1, // 更新人id
"updateUserName": "系统管理员", // 更新人姓名
"updateTime": 1545102137000, // 更新时间
"taskCode": "BDOP_TASK_TEST2", // 任务编码(提交时必填)
"version": "ea3241c0cc9f85b5eec1b47eaf457aaf", // 开发版本号
"codeMode": 1, // 代码类型(1 编写代码、2 引入文件)
"executorParam": "", // 执行参数(代码类型 2 引入文件时有效)
"sourceCode": "Test code", // 源代码(代码类型 1 编写代码时有效)
"mainClass": "com.myhexin.test.Test",// 执行的主类(全路径)
"alarmEmail": "alarm@myhexin.com", // 报警邮件(有默认值)
"resourceVersionId": null, // 引入的文件id(代码类型 2 引入文件时有效)
"publishDesc": "测试发布2", // 发布描述(最近一次的发布描述)
"tableId": 5, // 输出表id
"table": {
"id": "5", // 主键
"tableCode": "table_1", // 表名
"tableName": "表1", // 表中文名
"tableDesc": "描述", // 表描述
"params": [{
"columnName": "id", // 字段名
"length": 10, // 字段长度
"dataType": "int", // 数据类型
"partitionFlag": 1, // 是否分区字段(1 是、0 否)
"columnDesc": "测试", // 字段描述
"tags": [{
"id": 10, // 标签id
"tagCode": "label_1", // 标签编码(绑定操作都是 taskCode 必填)
"tagName": "测试标签1", // 标签名称
"tagDesc": "测试标签1", // 标签描述
"tagRule": "测试标签1", // 标签规则
// 枚举值
"enums": [{
"key": "0",
"value": "男",
"order": 1
}, {
"key": "1",
"value": "女",
"order": 2
}]
}] // 一个字段目前最多一个标签,为了以后的扩展性,设计成数组格式
},{
"columnName": "name",
"length": 10,
"dataType": "varchar",
"partitionFlag": 1,
"columnDesc": "测试",
"tags": null
}]
},
"tagOrders": [ 10, 15, 18 ] // 选择的标签申请单(多选)
},
// 发布任务的历史(不包括现在的开发版,字段含义同上)
"historyPublishs": [{
"id": 8,
"createUserId": 1,
"createUserName": "系统管理员",
"createTime": 1545102077000,
"updateUserId": null,
"updateUserName": null,
"updateTime": null,
"delFlag": null,
"taskCode": "BDOP_TASK_TEST2",
"version": "d87254837ea5c5261a5f821251d8ac80",
"jobId": "BDOP_TASK_TEST2_d87254837ea5c5261a5f821251d8ac80",
"codeMode": 1,
"executorParam": "",
"sourceCode": "Test code",
"mainClass": "com.myhexin.test.Test",
"alarmEmail": "alarm@myhexin.com",
"resourceVersionId": null,
"publishDesc": "测试发布"
}]
}
}
2.1.6 删除任务
- 接口:
DELETE /dataDev/tasks/task/{id}
- 请求参数:
参数字段 | 参数类型 | 参数描述 |
---|---|---|
id | Long | 任务 id |
- 返回参数:
{
"code": 200,
"msg": "成功删除任务!",
"data": null
}
A 数据定义
A.1 常量定义
A.1.1 任务源代码语言(TaskLanguage)
常量名 | 常量值 | 描述 |
---|---|---|
UNDEFINED | 0 | ( sql 任务类型)未定义 |
JAVA | 1 | ( spark 任务、java 任务类型)Java |
PYTHON | 2 | ( spark 任务类型)Python |
SCALA | 3 | ( spark 任务类型)Scala |
A.1.2 流程状态(FlowStatus)
常量名 | 常量值 | 描述 |
---|---|---|
DEVELOPING | 0 | 开发中(流程管理才有) |
PUBLISHED | 1 | 已发布(流程管理、流程发布都有) |
WAIT_TO_PUBLISH | 2 | 待发布(流程管理、流程发布都有) |
OFFLINE | 3 | 已下线(流程发布才有) |
DEVELOPING_AFTER_PUBLISH | 4 | 发布重新开发中(流程管理才有) |
WAIT_TO_REPUBLISH | 5 | 发布待更新(流程管理、流程发布都有) |