# 接口设计 - 数据源
## 新增数据源
##### 请求路径
`/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
    }
}
```
##### 详细说明
因为分组是有序的，所以在请求执行删除操作时一般需要同步请求批量更新操作。