开发文档 - 例子

本文档详细介绍了数据开发的相关接口,包括任务管理的各个子接口,如查询任务列表、创建任务、修改任务、查询任务详情及删除任务。同时,提供了常量定义如任务源代码语言和流程状态的说明,帮助理解接口使用场景和流程。
摘要由CSDN通过智能技术生成

开发文档

1 更新历史

时间版本描述
20181212V1.0XXXXXX。
20181221V1.1XXXXXX。
XXXXXX。
20181222V1.2XXXXXX。
20190125V1.2.1XXXXXX。
20190125V1.2.2XXXXXX。
20190313V1.3XXXXXX。

2 接口

2.1 任务管理

2.1.1 [下拉框] 可选标签接口

  • 可以选择可用的标签 + 已选择申请单的正在开发的标签(过滤掉已经在其它任务中绑定了申请单正在开发中的标签)。
  • 接口:
GET /dataDev/tags/select?taskCode={taskCode}&tableId={tableId}
  • 请求参数:
参数字段参数类型参数描述
taskCodeString当前任务的编码
tableIdLong选择的输出表 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
  • 请求参数:
参数字段参数类型参数描述
pageNumint页码
pageSizeint每页个数
taskTypeint任务类型:1 sql 任务2 spark 任务
multipleStatusint任务状态:0 开发中1 已发布2 发布重新开发中
不同状态英文逗号分隔(根据设计稿再确定组合)
例如:未发布( 0 ),已发布( 1,2
例如:开发中( 0,2 ),已发布( 1
taskNameString任务名称(模糊)
belongFlowCodeString所属流程编码(流程任务关联表查询,已发布的最新版本的所属流程,未发布可能不存在关联)
chargeUserIdLong负责人用户 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
  • 请求参数 Bodyapplication/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}
  • 请求参数:
参数字段参数类型参数描述
idLong任务 id
  • 请求参数 Bodyapplication/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}
  • 请求参数:
参数字段参数类型参数描述
idLong任务 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}
  • 请求参数:
参数字段参数类型参数描述
idLong任务 id
  • 返回参数:
{
	"code": 200,
	"msg": "成功删除任务!",
	"data": null
}

A 数据定义

A.1 常量定义

A.1.1 任务源代码语言(TaskLanguage)

常量名常量值描述
UNDEFINED0sql 任务类型)未定义
JAVA1spark 任务、java 任务类型)Java
PYTHON2spark 任务类型)Python
SCALA3spark 任务类型)Scala

A.1.2 流程状态(FlowStatus)

常量名常量值描述
DEVELOPING0开发中(流程管理才有)
PUBLISHED1已发布(流程管理、流程发布都有)
WAIT_TO_PUBLISH2待发布(流程管理、流程发布都有)
OFFLINE3已下线(流程发布才有)
DEVELOPING_AFTER_PUBLISH4发布重新开发中(流程管理才有)
WAIT_TO_REPUBLISH5发布待更新(流程管理、流程发布都有)

  1.◇ 可行性分析报告:     说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述 为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案 的理由。   2.◇ 项目开发计划:     为软件项目实施方案制订出具体计划,应该包括各部分工作的负责人员、开 发的进度、开发经费的预算、所需的硬件及软件资源等。   3.◇ 软件需求说明书(软件规格说明书,系统测试需要的标准文档):    对所开发软件的功能、性能、用户界面及运行环境等作出详细的说明。它是 在用户与开发人员双方对软件需求取得共同理解并达成协议的条件下编写的,也是实 施开发工作的基础。该说明书应给出数据逻辑和数据采集的各项要求,为生成和维护 系统数据文件做好准备。   4.◇ 概要设计说明书:     该说明书是概要实际阶段的工作成果,它应说明功能分配、模块划分、程序 的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计等, 为详细设计提供基础。   5.◇ 详细设计说明书:      着重描述每一模块是怎样实现的,包括实现算法、逻辑流程等。   6.◇ 用户操作手册:      本手册详细描述软件的功能、性能和用户界面,使用户对如何使用该软件 得到具体的了解,为操作人员提供该软件各种运行情况的有关知识,特别是操作方法 的具体细节。   7.◇ 测试计划:     为做好集成测试和验收测试,需为如何组织测试制订实施计划。计划应包括 测试的内容、进度、条件、人员、测试用例的选取原则、测试结果允许的偏差范围等。   8.◇ 测试分析报告:      测试工作完成以后,应提交测试计划执行情况的说明,对测试结果加以分 析,并提出测试的结论意见。   9.◇ 开发进度月报:      该月报系软件人员按月向管理部门提交的项目进展情况报告,报告应包括 进度计划与实际执行情况的比较、阶段成果、遇到的问题和解决的办法以及下个月 的打算等。   10.◇ 项目开发总结报告:      软件项目开发完成以后,应与项目实施计划对照,总结实际执行的情况, 如进度、成果、资源利用、成本和投入的人力,此外,还需对开发工作做出评价, 总结出经验和教训。   11.◇ 软件维护手册:     主要包括软件系统说明、程序模块说明、操作环境、支持软件的说明、维护 过程的说明,便于软件的维护。   12.◇ 软件问题报告:      指出软件问题的登记情况,如日期、发现人、状态、问题所属模块等,为 软件修改提供准备文档。   13.◇ 软件修改报告:      软件产品投入运行以后,发现了需对其进行修正、更改等问题,应将存在 的问题、修改的考虑以及修改的影响作出详细的描述,提交审批。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值