如何使用服务编排开发数据的增删改查
使用说明
如何使用服务编排开发业务的基本逻辑中创建了呼吸机资源对象Respirator,本章节将介绍通过服务编排中内置的对象操作图元来开发服务编排,实现Respirator对象数据的增删改查功能。
创建对象数据
由于服务编排中内置的记录创建图元无法批量创建,需要循环调用记录创建图元,进行批量创建。
- 参考如何创建服务编排中操作,创建“名称”和“标签”为“CreateRespirator”的服务编排。
图1 创建CreateRespirator服务编排
- 参照表1,定义服务编排用到的变量,并设置该服务编排的入参。
表1 变量说明 变量名
变量类型
变量说明
RespiratorInfo
Respirator对象
系统中空闲状态下的呼吸机资源数组元素。
RespiratorInfos
Respirator对象数组
系统中空闲状态下的呼吸机资源数组。
- 在服务编排编辑器页面右侧,选择,在全局上下文页面单击“对象变量”后的加号。
图2 添加对象变量
- 设置对象变量名称为“RespiratorInfo” ,对象中选择前提条件中创建的对象Respirator,设置字段描述信息(可选),单击“保存”。
图3 配置对象变量
服务编排中只允许引用当前应用工程下的资源(例如对象、脚本),上图中的对象需要和服务编排在同一应用中。
- 按照上述操作,新建对象变量“RespiratorInfos”,对象中选择前提条件中创建的对象Respirator,设置字段描述信息(可选),选中“是否为数组”,单击“保存”。
图4 配置数组类型对象变量
- 单击画布中的“开始”图元,在右侧菜单选择,单击右上角“全局上下文”展开“全局上下文”页面,将数组对象变量“RespiratorInfos”拖拽到“入参”中。
图5 配置开始图元
- 在服务编排编辑器页面右侧,选择,在全局上下文页面单击“对象变量”后的加号。
- 拖拽快捷目录中的“循环”图元以及“基本”目录中的“记录创建”图元到画布中,并与“开始”图元进行如下连线。
图6 拖拽图元
- 配置“循环”图元。
- 单击画布中的“循环”图元,在“基本信息”页面中配置图元标签和名称为“LoopRespiratorInfos”。
图7 配置“循环”图元基本信息
- 单击,进入“循环”配置页面,展开“全局上下文”页面,拖拽对象变量RespiratorInfos到“数组”输入框中,拖拽对象变量RespiratorInfo到“元素”输入框中。
图8 配置“循环”页面
如上图配置,能够将数组对象变量RespiratorInfos进行遍历,并将数组中的每个元素放置到对象变量RespiratorInfo中,进行下一步操作。
- 单击画布中的“循环”图元,在“基本信息”页面中配置图元标签和名称为“LoopRespiratorInfos”。
- 配置“记录创建”图元。
- 单击画布中的“记录创建”图元,在“基本信息”页面中配置图元标签及名称为“CreateRespirator”,并勾选“使用快速创建模式”。
图9 配置“记录创建”图元基本信息
- 单击,在“记录创建”页面,展开“全局上下文”页面,将对象变量RespiratorInfo拖拽到“变量”输入框中。
图10 配置“记录创建”页面
- 单击画布中的“记录创建”图元,在“基本信息”页面中配置图元标签及名称为“CreateRespirator”,并勾选“使用快速创建模式”。
- 单击页面上方的,保存服务编排。
- 保存后,单击,运行服务编排。
- 在服务编排运行页面,设置输入参数,单击“运行”,创建3条对象记录。
其中,“CNAME”替换为环境中实际配置的命名空间。
{ "RespiratorInfos": [ { "name": "呼吸机1", "CNAME__hospital__CST": "第1人民医院", "CNAME__status__CST": "空闲" }, { "name": "呼吸机2", "CNAME__hospital__CST": "第1人民医院", "CNAME__status__CST": "空闲" }, { "name": "呼吸机3", "CNAME__hospital__CST": "第1人民医院", "CNAME__status__CST": "空闲" } ] }
- 检查运行的结果是否符合预期。
- 运行结果显示“成功”。
图11 运行结果
- 在对象Respirator的“布局”页签,单击“Respirator Records”后的,查看到已成功创建对象记录。
图12 查看对象数据
图13 Respirator对象数据
- 运行结果显示“成功”。
- 单击页面上方的,启用该服务编排。
查询对象数据
介绍如何通过记录查询图元,查询Respirator对象数据中“状态”为“空闲”的对象记录。
- 参考如何创建服务编排中操作,创建“名称”和“标签”为“SelectRespirator”的服务编排。
- 定义服务编排用到的变量,并设置该服务编排的出参。
- 在服务编排编辑器页面右侧,选择,在全局上下文页面单击“对象变量”后的加号。
- 新建对象变量“RespiratorInfos”,对象中选择前提条件中创建的对象Respirator,设置字段描述信息(可选),选中“是否为数组”,单击“保存”。
图14 创建数组类型对象变量“RespiratorInfos”
- 单击画布中的“开始”图元,在右侧菜单选择,单击右上角“全局上下文”展开“全局上下文”页面,将数组对象变量“RespiratorInfos”拖拽到“出参”中。
图15 配置开始图元
- 拖拽“基本”目录中的“记录查询”图元到画布中,并与“开始”图元进行如下连线。
图16 拖拽图元
- 配置“记录查询”图元。
- 单击画布中的“记录查询”图元,在“基本信息”页面中配置图元标签及名称为“SelectRespirator”,并勾选“使用快速查询模式”。
图17 配置“记录查询”图元基本信息
- 如下图所示,单击,在“记录查询”页面中,将创建的对象变量RespiratorInfos由展开的“全局上下文”页面拖拽到“变量”输入框中。在“条件”中,单击“新增行”新增条件语句,“排序”为可选配置。
图18 配置“记录查询”页面
条件中的“值”,需要使用英文双引号。
- 单击画布中的“记录查询”图元,在“基本信息”页面中配置图元标签及名称为“SelectRespirator”,并勾选“使用快速查询模式”。
- 单击页面上方的,保存服务编排。
- 保存成功后,单击,运行服务编排。
- 由于该服务编排没有配置入参,直接单击“运行”,即可查询对象数据。
- 查看是否返回所有状态为空闲的对象记录。
{ "interviewId": "002N0000XXXXXXx5Cy", "outputs": { "RespiratorInfos": [ { "createdBy": "10gd000XXXXXX7Pea", "createdBy.name": "XXX", "createdDate": "2021-08-10 14:25:18", "currencyIsoCode": "USD", "CNAME__hospital__CST": "第1人民医院", "CNAME__status__CST": "空闲", "id": "cnE0000000m5Kvrl7kSe", "lastModifiedBy": "10gd000XXXXXXq7Pea", "lastModifiedBy.name": "XXX", "lastModifiedDate": "2021-08-10 14:25:18", "name": "呼吸机1", "owner": "10gd0000XXXXXXq7Pea", "owner.name": "gonCNAMEhen" }, { "createdBy": "10gd000000bZHUAq7Pea", "createdBy.name": "XXX", "createdDate": "2021-08-10 14:25:18", "currencyIsoCode": "USD", "CNAME__hospital__CST": "第1人民医院", "CNAME__status__CST": "空闲", "id": "cnE0000000m5KvrtM7EW", "lastModifiedBy": "10gd0000XXXXXXea", "lastModifiedBy.name": "XXX", "lastModifiedDate": "2021-08-10 14:25:18", "name": "呼吸机2", "owner": "10gd000000bZHUAq7Pea", "owner.name": "XXX" }, { "createdBy": "10gd000XXXXXX7Pea", "createdBy.name": "XXX", "createdDate": "2021-08-10 14:25:18", "currencyIsoCode": "USD", "CNAME__hospital__CST": "第1人民医院", "CNAME__status__CST": "空闲", "id": "cnE0000000m5KvrykUhk", "lastModifiedBy": "10gd0000XXXXXXPea", "lastModifiedBy.name": "XXX", "lastModifiedDate": "2021-08-10 14:25:18", "name": "呼吸机3", "owner": "10gd000000bZHUAq7Pea", "owner.name": "XXX" } ] } }
- 单击页面上方的,启用服务编排。
修改对象数据
介绍如何通过记录更新图元,修改Respirator对象数据。
- 参考如何创建服务编排中操作,创建“名称”和“标签”为“UpdateRespirator”的服务编排。
- 定义服务编排用到的变量,并设置该服务编排的入参。
- 在服务编排编辑器页面右侧,选择,在全局上下文页面单击“对象变量”后的加号。
- 新建对象变量“RespiratorInfos”,对象中选择前提条件中创建的对象Respirator,设置字段描述信息(可选),选中“是否为数组”,单击“保存”。
图19 新建对象变量“RespiratorInfos”
- 单击画布中的“开始”图元,在右侧菜单选择,单击右上角“全局上下文”展开“全局上下文”页面,将数组对象变量“RespiratorInfos”拖拽到“入参”中。
图20 配置开始图元
- 拖拽“基本”目录中的“记录更新”图元到画布中,并与“开始”图元进行如下连线。
图21 拖拽图元
- 配置“记录更新”图元。
- 单击画布中的“记录更新”图元,在“基本信息”页面中配置图元标签及名称为“UpdateRespirator”,并勾选“使用快速更新模式”。
图22 配置“记录更新”图元基本信息
- 单击,在“记录更新”页面,将创建的对象变量RespiratorInfos由展开的“全局上下文”页面拖拽到“变量”输入框中。
图23 配置“记录更新”页面
- 单击画布中的“记录更新”图元,在“基本信息”页面中配置图元标签及名称为“UpdateRespirator”,并勾选“使用快速更新模式”。
- 单击页面上方的,保存服务编排。
- 保存成功后,单击,运行服务编排。
- 在服务编排运行页面,设置输入参数,单击“运行”。
在“输入参数”中,输入如下参数,修改Respirator对象数据,更新状态为“使用中”。其中,“CNAME”替换为环境中实际配置的命名空间,“id”取值替换为查询对象数据中查询出呼吸机的id。
{ "RespiratorInfos": [ { "id": "cnE0000000m5Kvrl7kSe", "CNAME__status__CST": "使用中" }, { "id": "cnE0000000m5KvrtM7EW", "CNAME__status__CST": "使用中" } ] }
- 检查运行的结果是否符合预期。
- 单击页面上方的,激活服务编排。
删除对象数据
介绍如何通过记录删除图元,删除Respirator对象数据。
- 参考如何创建服务编排中操作,创建“名称”和“标签”为“DeleteRespirator”的服务编排。
- 定义服务编排用到的变量,并设置该服务编排的出参。
- 在服务编排编辑器页面右侧选择,在全局上下文页面单击“对象变量”后的加号。
- 新建对象变量“RespiratorInfos”,对象中选择前提条件中创建的对象Respirator,设置字段描述信息(可选),选中“是否为数组”,单击“保存”。
图26 新建对象变量“RespiratorInfos”
- 单击画布中的“开始”图元,在右侧菜单选择,单击右上角“全局上下文”展开“全局上下文”页面,将数组对象变量“RespiratorInfos”拖拽到“入参”中。
图27 配置开始图元
- 拖拽“基本”目录中的“记录删除”图元到画布中,并连接“开始”和“记录删除”图元。
- 配置“记录删除”图元。
- 单击画布中的“记录删除”图元,在“基本信息”页面中配置图元标签及名称为“DeleteRespirator”,并勾选“使用快速删除模式”。
- 单击,在“记录删除”页面将创建的对象变量RespiratorInfos由展开的“全局上下文”页面拖拽到“变量”输入框中。
图28 配置“记录删除”页面
- 单击页面上方的,保存服务编排。
- 保存成功后,单击,运行服务编排。
- 设置输入参数,单击“运行”,删除2条对象记录。
其中,“id”取值替换为查询对象数据中查询出的呼吸机的id。
{ "RespiratorInfos": [ { "id": "cnE0000000m5Kvrl7kSe" }, { "id": "cnE0000000m5KvrtM7EW" } ] }
- 运行后在对象Respirator的“布局”页签,单击“Respirator Records”后的,查看到已成功删除2条对象记录,还剩1条。
图29 预览布局页
图30 对象记录
- 单击页面上方的,启用服务编排。