# 接口设计 - 数据源 ## 新增数据源 ##### 请求路径 `/inputDataConnector` ##### 请求方式 `HTTP - POST` ##### 包类方法 `dispatch(type:'dataSource/remoteAdd')` ##### 请求参数 | 字段名(后端) | 字段名(前端) | 说明 | |---------------- |-------------------- |----------------- | | dataName | model.name | 数据源名称 | | note | model.description | 数据源说明 | | loadObject | model.target | 数据对象 | | dataTag | model.tags | 标签 | | type | model.type | 类型 | | createBy | | 创建者 | | dbConfig | | 数据库设置 | | addrass | model.address | 数据库地址 | | port | model.port | 数据库 | | databaseType | model.dbType | 数据库类型 | | dataName | model.dbName | 数据库名(SID) | | userName | model.userName | 用户名 | | passWord | model.password | 密码 | ##### 请求示例 ```json { "dataName": "文档测试", "note": "这个应该可以为空", "loadObject": "select * from bench", "type": "database", "createBy": "admin", "dbConfig": { "addrass": "192.168.253.6", "port": "1521", "databaseType": "oracle", "dataName": "orcl", "userName": "UAS", "passWord": "select!#%*(" }, "columnConfig": [{ "columnName": "BC_CODE", "columnLable": "编号", "dataType": "VARCHAR2", "columnType": "categorical", "isGroup": "1", "isSubsection": "0", "isOpen": "1", "remarks": "编号" }, { "columnName": "BC_DESC", "columnLable": "工作台说明", "dataType": "VARCHAR2", "columnType": "categorical", "isGroup": "1", "isSubsection": "0", "isOpen": "1", "remarks": "工作台说明" }, { "columnName": "BC_DETNO", "columnLable": "序号", "dataType": "NUMBER", "columnType": "scale", "isGroup": "0", "isSubsection": "1", "isOpen": "1", "remarks": "序号" }], "connectorGroup": "-1" } ``` ##### 返回结果 ```json { "data": { "code": 200, "msg": "成功", "data": 71 } } ``` ##### 详细说明 ___ ## 修改数据源 ##### 请求路径 `/updateData` ##### 请求方式 `HTTP - POST` ##### 包类方法 `dispatch(type:'dataSource/remoteModify')` ##### 请求参数 | 字段名(后端) | 字段名(前端) | 说明 | |---------------- |-------------------- |---------------------------- | | dataId | code | 数据源ID | | dataName | model.name | 数据源名称 | | note | model.description | 数据源说明 | | loadObject | model.target | 数据对象 | | dataTag | model.tags | 数据源标签 | | type | model.type | 数据源类型 | | createBy | | 创建人 | | dbConfig{ | | 数据库配置(为空时不修改) | | addrass | model.address | 数据库地址 | | port | model.port | 数据库端口 | | databaseType | model.dbType | 数据库类型 | | dataName | model.dbName | 数据库名 | | userName | model.userName | 用户名 | | passWord | model.password | 密码 | | columnConfig | | 列配置 | | columnName | c.name | 列名 | | columnLable | c.alias | 别名 | | dataType | c.dataType | 数据类型 | | columnType | c.columnType | 分析类型 | | isGroup | c.groupable | 可分组 | | isSubsection | c.bucketizable | 可分段 | | isOpen | c.using | 启用 | | remarks | c.description | 备注 | | connectorGroup | model.groupCode | 分组代码 | ##### 请求示例 ```json { "dataId": 71, "dataName": "文档测试1", "note": "这个应该可以为空", "loadObject": "select * from bench", "dataTag": null, "type": "database", "createBy": "admin", "connectorGroup": "-1", "dbConfig": { "addrass": "192.168.253.6", "port": "1521", "databaseType": "oracle", "dataName": "orcl", "userName": "UAS", "passWord": "select!#%*(" }, "columnConfig": [{ "columnName": "BC_CODE", "columnLable": "编号", "dataType": "VARCHAR2", "columnType": "categorical", "isGroup": "1", "isSubsection": "0", "isOpen": "1", "remarks": "编号" }, { "columnName": "BC_DESC", "columnLable": "工作台说明", "dataType": "VARCHAR2", "columnType": "categorical", "isGroup": "1", "isSubsection": "0", "isOpen": "1", "remarks": "工作台说明" }, { "columnName": "BC_DETNO", "columnLable": "序号", "dataType": "NUMBER", "columnType": "scale", "isGroup": "0", "isSubsection": "1", "isOpen": "1", "remarks": "序号" }] } ``` ##### 返回结果 ```json { "data": { "code": 200, "msg": "成功", "data": null } } ``` ##### 详细说明 ___ ## 删除数据源 ##### 请求路径 `/delDataConnector` ##### 请求方式 `HTTP - POST` ##### 包类方法 `dispatch(type:'dataSource/remoteDelete')` ##### 请求参数 code 数据源ID ##### 请求示例 ```json [71] ``` ##### 返回结果 ```json { "code": -130, "msg": "图表正在使用", "data": [] } ``` ##### 详细说明 ___ ## 获取数据源列表 ##### 请求路径 `/getListDataConnector` ##### 请求方式 `HTTP - POST` ##### 包类方法 `dispatch(type:'dataSource/fetchList')` ##### 请求参数 无 ##### 请求示例 ##### 返回结果 ```json { "code": 200, "msg": "成功", "data": [ { "dataId": 43, "dataName": "commonuse", "note": "1", "type": "database", "dataTag": "null", "dbConfig": "{\"name\":null,\"addrass\":\"10.1.1.168\",\"port\":\"1521\",\"databaseType\":\"oracle\",\"dataName\":\"orcl\",\"userName\":\"YITOA_DATACENTER\",\"passWord\":\"select!#%*(\"}", "connectorGroup": 1, "usedNumber": 0, "createBy": "admin", "createDate": "2018-08-02 09:31:53.0" }, { "dataId": 50, "dataName": "bench_flowchart", "note": "1", "type": "database", "dataTag": "null", "dbConfig": "{\"name\":null,\"addrass\":\"10.1.1.168\",\"port\":\"1521\",\"databaseType\":\"oracle\",\"dataName\":\"orcl\",\"userName\":\"YITOA_DATACENTER\",\"passWord\":\"select!#%*(\"}", "connectorGroup": -1, "usedNumber": 0, "createBy": "admin", "createDate": "2018-08-02 10:13:59.0" }, { "dataId": 49, "dataName": "commonuse2", "note": "1", "type": "database", "dataTag": "null", "dbConfig": "{\"name\":null,\"addrass\":\"10.1.1.168\",\"port\":\"1521\",\"databaseType\":\"oracle\",\"dataName\":\"orcl\",\"userName\":\"YITOA_DATACENTER\",\"passWord\":\"select!#%*(\"}", "connectorGroup": -1, "usedNumber": 0, "createBy": "admin", "createDate": "2018-08-02 10:11:09.0" }, { "dataId": 71, "dataName": "文档测试1", "note": "这个应该可以为空", "type": "database", "dataTag": "null", "dbConfig": "{\"name\":null,\"addrass\":\"192.168.253.6\",\"port\":\"1521\",\"databaseType\":\"oracle\",\"dataName\":\"orcl\",\"userName\":\"UAS\",\"passWord\":\"select!#%*(\"}", "connectorGroup": -1, "usedNumber": 0, "createBy": "admin", "createDate": "2018-08-08 15:05:48.0" }, { "dataId": 62, "dataName": "PROJECT", "note": "Y", "type": "database", "dataTag": "null", "dbConfig": "{\"name\":null,\"addrass\":\"192.168.253.6\",\"port\":\"1521\",\"databaseType\":\"oracle\",\"dataName\":\"orcl\",\"userName\":\"UAS\",\"passWord\":\"select!#%*(\"}", "connectorGroup": 20, "usedNumber": 0, "createBy": "admin", "createDate": "2018-08-07 15:16:45.0" }, { "dataId": 55, "dataName": "销售订单", "note": "1", "type": "database", "dataTag": "null", "dbConfig": "{\"name\":null,\"addrass\":\"192.168.253.6\",\"port\":\"1521\",\"databaseType\":\"oracle\",\"dataName\":\"orcl\",\"userName\":\"UAS\",\"passWord\":\"select!#%*(\"}", "connectorGroup": 1, "usedNumber": 0, "createBy": "admin", "createDate": "2018-08-06 15:20:29.0" } ] } ``` ##### 详细说明 ___ ## 获得单个数据源详细数据 ##### 请求路径 `/getDataConnector` ##### 请求方式 `HTTP - POST` ##### 包类方法 `dispatch(type:'dataSource/remoteDetail')` ##### 请求参数 code ##### 请求示例 ```json 50 ``` ##### 返回结果 ```json { "code": 200, "msg": "成功", "data": { "dataId": 50, "dataName": "bench_flowchart", "tableName": null, "dbConfig": "{\"name\":null,\"addrass\":\"10.1.1.168\",\"port\":\"1521\",\"databaseType\":\"oracle\",\"dataName\":\"orcl\",\"userName\":\"YITOA_DATACENTER\",\"passWord\":\"select!#%*(\"}", "loadObject": "select * from bench_flowchart", "connectorGroup": -1, "note": "1", "columnConfig": "[{\"columnName\":\"ARROW1_\",\"columnLable\":\"起点箭头(line)\",\"columnType\":\"scale\",\"dataType\":\"NUMBER\",\"isGroup\":\"0\",\"isSubsection\":\"1\",\"isOpen\":\"1\",\"remarks\":\"起点箭头(line)正负表示方向,大小表示长度\"},{\"columnName\":\"ARROW2_\",\"columnLable\":\"终点箭头(line)\",\"columnType\":\"scale\",\"dataType\":\"NUMBER\",\"isGroup\":\"0\",\"isSubsection\":\"1\",\"isOpen\":\"1\",\"remarks\":\"终点箭头(line)正负表示方向,大小表示长度\"},{\"columnName\":\"BC_ID\",\"columnLable\":\"工作台ID\",\"columnType\":\"categorical\",\"dataType\":\"VARCHAR2\",\"isGroup\":\"1\",\"isSubsection\":\"0\",\"isOpen\":\"1\",\"remarks\":\"工作台ID\"},{\"columnName\":\"BG_COLOR\",\"columnLable\":\"背景色\",\"columnType\":\"categorical\",\"dataType\":\"VARCHAR2\",\"isGroup\":\"1\",\"isSubsection\":\"0\",\"isOpen\":\"1\",\"remarks\":\"背景色\"},{\"columnName\":\"COLOR_\",\"columnLable\":\"颜色\",\"columnType\":\"categorical\",\"dataType\":\"VARCHAR2\",\"isGroup\":\"1\",\"isSubsection\":\"0\",\"isOpen\":\"1\",\"remarks\":\"颜色\"},{\"columnName\":\"DOT_\",\"columnLable\":\"虚线值\",\"columnType\":\"scale\",\"dataType\":\"NUMBER\",\"isGroup\":\"0\",\"isSubsection\":\"1\",\"isOpen\":\"1\",\"remarks\":\"虚线值\"},{\"columnName\":\"FONT_SIZE\",\"columnLable\":\"字体大小\",\"columnType\":\"categorical\",\"dataType\":\"VARCHAR2\",\"isGroup\":\"1\",\"isSubsection\":\"0\",\"isOpen\":\"1\",\"remarks\":\"字体大小\"},{\"columnName\":\"HEIGHT_\",\"columnLable\":\"组件高度\",\"columnType\":\"scale\",\"dataType\":\"NUMBER\",\"isGroup\":\"0\",\"isSubsection\":\"1\",\"isOpen\":\"1\",\"remarks\":\"组件高度\"},{\"columnName\":\"ID_\",\"columnLable\":\"ID\",\"columnType\":\"scale\",\"dataType\":\"NUMBER\",\"isGroup\":\"0\",\"isSubsection\":\"1\",\"isOpen\":\"1\",\"remarks\":\"ID\"},{\"columnName\":\"ITEMS_\",\"columnLable\":\"\",\"columnType\":\"string\",\"dataType\":\"CLOB\",\"isGroup\":\"0\",\"isSubsection\":\"0\",\"isOpen\":\"1\",\"remarks\":null},{\"columnName\":\"POINTS_\",\"columnLable\":\"坐标点集\",\"columnType\":\"categorical\",\"dataType\":\"VARCHAR2\",\"isGroup\":\"1\",\"isSubsection\":\"0\",\"isOpen\":\"1\",\"remarks\":\"坐标点集\"},{\"columnName\":\"TABNAME_\",\"columnLable\":\"标签名\",\"columnType\":\"categorical\",\"dataType\":\"VARCHAR2\",\"isGroup\":\"1\",\"isSubsection\":\"0\",\"isOpen\":\"1\",\"remarks\":\"标签名\"},{\"columnName\":\"TEXT_\",\"columnLable\":\"组件内容\",\"columnType\":\"categorical\",\"dataType\":\"VARCHAR2\",\"isGroup\":\"1\",\"isSubsection\":\"0\",\"isOpen\":\"1\",\"remarks\":\"组件内容\"},{\"columnName\":\"TYPE_\",\"columnLable\":\"组件类型(node/\",\"columnType\":\"categorical\",\"dataType\":\"VARCHAR2\",\"isGroup\":\"1\",\"isSubsection\":\"0\",\"isOpen\":\"1\",\"remarks\":\"组件类型(node/line)\"},{\"columnName\":\"WIDTH_\",\"columnLable\":\"组件宽度\",\"columnType\":\"scale\",\"dataType\":\"NUMBER\",\"isGroup\":\"0\",\"isSubsection\":\"1\",\"isOpen\":\"1\",\"remarks\":\"组件宽度\"},{\"columnName\":\"X2_\",\"columnLable\":\"终止位置x(line\",\"columnType\":\"scale\",\"dataType\":\"NUMBER\",\"isGroup\":\"0\",\"isSubsection\":\"1\",\"isOpen\":\"1\",\"remarks\":\"终止位置x(line)\"},{\"columnName\":\"X_\",\"columnLable\":\"组件位置x\",\"columnType\":\"scale\",\"dataType\":\"NUMBER\",\"isGroup\":\"0\",\"isSubsection\":\"1\",\"isOpen\":\"1\",\"remarks\":\"组件位置x\"},{\"columnName\":\"Y2_\",\"columnLable\":\"终止位置y(line\",\"columnType\":\"scale\",\"dataType\":\"NUMBER\",\"isGroup\":\"0\",\"isSubsection\":\"1\",\"isOpen\":\"1\",\"remarks\":\"终止位置y(line)\"},{\"columnName\":\"Y_\",\"columnLable\":\"组件位置y\",\"columnType\":\"scale\",\"dataType\":\"NUMBER\",\"isGroup\":\"0\",\"isSubsection\":\"1\",\"isOpen\":\"1\",\"remarks\":\"组件位置y\"}]", "dataTag": "null", "usedNumber": 0, "type": "database", "createBy": "admin", "createDate": "2018-08-02 10:13:59.0", "updateDate": null } } ``` ##### 详细说明 ___ ## 根据sql请求列数据信息 ##### 请求路径 `/implementSql` ##### 请求方式 `HTTP - POST` ##### 包类方法 `dispatch(type:'dataSource/importNewModelColumns')` ##### 请求参数 baseName: dataSource.newOne.userName strSql ##### 请求示例 ```json { "baseName": "UAS", "strSql": "select * from Bench" } ``` ##### 返回结果 ```json { "code": 200, "msg": "成功", "data": [ { "columnName": "BC_CODE", "columnType": "VARCHAR2", "remarks": "编号" }, { "columnName": "BC_DESC", "columnType": "VARCHAR2", "remarks": "工作台说明" }, { "columnName": "BC_DETNO", "columnType": "NUMBER", "remarks": "序号" }, { "columnName": "BC_ICON", "columnType": "VARCHAR2", "remarks": "图标" }, { "columnName": "BC_ID", "columnType": "NUMBER", "remarks": "ID" }, { "columnName": "BC_TITLE", "columnType": "VARCHAR2", "remarks": "工作台标题" }, { "columnName": "BC_URLCOND", "columnType": "VARCHAR2", "remarks": "链接条件" }, { "columnName": "BC_USED", "columnType": "NUMBER", "remarks": "是否使用" } ] } ``` ##### 详细说明 此处业务逻辑需要调整为以下两种情况: 1.根据sql取出实际的列数据,不限于单表,可能只取部分列。 2.支持表名、列定义的方式获得列数据(类似数据观) ___ ## 获得数据源所有分组/子分组 ##### 请求路径 `/getConnectorGroup` ##### 请求方式 `HTTP - POST` ##### 包类方法 `dispatch(type:'dataSource/remoteGroupList')` ##### 请求参数 无 ##### 请求示例 ```json null ``` ##### 返回结果 ```json { "code": 200, "msg": "成功", "data": [ { "id": 1, "groupName": "默认分组", "groupIndex": 0, "fatherId": -1, "createBy": "zhuth", "createDate": "2018-07-25T22:41:16.000+0000", "updataDate": null }, { "id": 2, "groupName": "默认子分组11", "groupIndex": 0, "fatherId": 1, "createBy": "zhuth", "createDate": "2018-07-25T22:49:24.000+0000", "updataDate": null }, { "id": 3, "groupName": "我的分组", "groupIndex": 1, "fatherId": -1, "createBy": "zhuth", "createDate": "2018-07-25T23:03:10.000+0000", "updataDate": null }, { "id": 19, "groupName": "默认子分组22", "groupIndex": 1, "fatherId": 1, "createBy": "zhuth", "createDate": "2018-07-27T03:39:17.000+0000", "updataDate": null }, { "id": 41, "groupName": "我的子分组2", "groupIndex": 1, "fatherId": 3, "createBy": "zhuth", "createDate": "2018-07-28T02:52:16.000+0000", "updataDate": null }, { "id": 20, "groupName": "我的子分组1", "groupIndex": 0, "fatherId": 3, "createBy": "zhuth", "createDate": "2018-07-27T07:18:41.000+0000", "updataDate": null }, { "id": 32, "groupName": "默认子分组33", "groupIndex": 2, "fatherId": 1, "createBy": "zhuth", "createDate": "2018-07-27T08:06:43.000+0000", "updataDate": null }, { "id": 42, "groupName": "我的子分组3", "groupIndex": 2, "fatherId": 3, "createBy": "zhuth", "createDate": "2018-07-28T02:52:18.000+0000", "updataDate": null } ] } ``` ##### 详细说明 ___ ## 新增数据源分组/子分组 ##### 请求路径 `/setConnectorGroup` ##### 请求方式 `HTTP - POST` ##### 包类方法 `dispatch(type:'dataSource/ remoteAddGroup')` ##### 请求参数 | 字段名(后端) | 字段名(前端) | 说明 | |---------------- |---------------- |------------------- | | fatherId | pgroup.code | 父级分组ID | | groupName | “新子分组”' | 基础配置 – 数据源 | | groupIndex | | 分组索引 | | createBy | | 创建人 | ##### 请求示例 ```json { "fatherId": "-1", "groupName": "新分组", "groupIndex": 2, "createBy": "zhuth" } ``` ##### 返回结果 ```json { "data": { "code": 200, "msg": "成功", "data": 71 } } ``` ##### 详细说明 如果是顶级分组(没有父级分组),则父级分组ID设置为-1 ___ ## 修改数据源分组信息 ##### 请求路径 `/updataDataConnectorGroup` ##### 请求方式 `HTTP - POST` ##### 包类方法 `dispatch(type:'dataSource/remoteModifyGroup')` ##### 请求参数 | 字段名(后端) | 字段名(前端) | 说明 | |---------------- |---------------- |------------------- | | Id | Group.code | 分组ID | | fatherId | pgroup.code | 父级分组ID | | groupName | “新子分组”' | 基础配置 – 数据源 | | groupIndex | | 分组索引 | | createBy | | 创建人 | ##### 请求示例 ```json { "id": "2", "fatherId": "1", "groupName": "默认子分组11", "groupIndex": 0, "createBy": "zhuth" } ``` ##### 返回结果 ```json { "data": { "code": 200, "msg": "成功", "data": null } } ``` ##### 详细说明 ___ ## 设置数据源所属分组 ##### 请求路径 `/updateConnectConfigGroup` ##### 请求方式 `HTTP - POST` ##### 包类方法 `dispatch(type:'dataSource/remoteSetDataSourceGroup')` ##### 请求参数 | 字段名(后端) | 字段名(前端) | 说明 | |---------------- |---------------- |------------ | | Id | DatasourceCode | 数据源ID | | GroupID | “新子分组”' | 目标分组ID | ##### 请求示例 ```json { "id": 71, "groupId": "1" } ``` ##### 返回结果 ```json { "data": { "code": 200, "msg": "成功", "data": null } } ``` ##### 详细说明 ___ ## 批量修改数据源分组信息 ##### 请求路径 `/updataConnectorGroup` ##### 请求方式 `HTTP - POST` ##### 包类方法 `dispatch(type:'dataSource/remoteModifyGroups')` ##### 请求参数 | 字段名(后端) | 字段名(前端) | 说明 | |---------------- |---------------- |------------------- | | fatherId | pgroup.code | 父级分组ID | | groupName | “新子分组”' | 基础配置 – 数据源 | | groupIndex | | 分组索引 | | createBy | | 创建人 | ##### 请求示例 ```json [{ "id": "19", "groupName": "默认子分组22", "groupIndex": 0, "fatherId": "1", "createBy": "zhuth" }, { "id": "2", "groupName": "默认子分组11", "groupIndex": 1, "fatherId": "1", "createBy": "zhuth" }, { "id": "32", "groupName": "默认子分组33", "groupIndex": 2, "fatherId": "1", "createBy": "zhuth" }] ``` ##### 返回结果 ```json { "data": { "code": 200, "msg": "成功", "data": null } } ``` ##### 详细说明 批量修改现在主要用于移动分组位置的改动,前台计算移动位置可能造成改动的分组节点生成一个数组返回到后台统一更新。 此处将整个groups集体上传 集体替换。 此处建议使用batch表达批量修改的概念。 ___ ## 删除数据源分组/子分组 ##### 请求路径 `/delDataConnectorGroup` ##### 请求方式 `HTTP - POST` ##### 包类方法 `dispatch(type:'dataSource/remoteDeleteGroup'')` ##### 请求参数 group.code 分组ID ##### 请求示例 ```json 71 ``` ##### 返回结果 ```json { "data": { "code": 200, "msg": "成功", "data": null } } ``` ##### 详细说明 因为分组是有序的,所以在请求执行删除操作时一般需要同步请求批量更新操作。