
# 如何创建聚合对象
#### 什么场景下需要使用聚合对象
在不同对象之间建立关联关系时，需要使用聚合对象（Aggregator）。聚合对象实现方式，有如下两种：
- 通过定义对象中，某一字段的字段类型为"Lookup"（查找关系）或"Master Detail"（主从关系类型），实现不同对象之间建立关联关系，只能向子对象进行关联。该场景下，系统支持基于聚合对象进行数据的增删改查操作，避免对多个对象分别进行多次数据操作。
- 通过属性配置，实现不同对象之间建立关联关系。该场景下，界面上暂不支持基于聚合对象进行数据的增删改查操作，仅可通过Restful接口进行数据的增删改查操作。
#### 场景描述
新建一个订单聚合对象，该聚合对象中产品对象通过Lookup关联价格、库存子节点对象，并基于该订单聚合对象定义增加操作。再通过属性配置，关联客户对象。
 表1对象说明 
| 对象名           | 自定义字段名           | 字段类型     | 字段说明                            |
|:---|:---|:---|:---|
| Product__CST  | description__CST | text     | 产品描述。                           |
| Price__CST    | product__CST     | Lookup   | 产品描述。该字段的取值来源于"Product__CST"对象。 |
| Price__CST    | price__CST       | Currency | 产品价格。                           |
| Stock__CST    | remain__CST      | Number   | 库存数量。                           |
| Stock__CST    | product__CST     | Lookup   | 产品描述。该字段的取值来源于"Product__CST"对象。 |
| Customer__CST | -                | -        | -                               |
   
#### 前提条件
[表1]中的对象及自定义字段已创建。
#### 创建聚合对象并通过Lookup关联子节点对象
1. 参考[登录经典应用设计器](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_5025.html)中操作，进入应用的经典版设计器。
2. 鼠标放在应用的文件夹旁，单击加号，选择"聚合对象"。
3. 选择"创建新的聚合对象"，输入基本信息后单击"添加"。 
   图1新建聚合对象   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933046940.png "点击放大")
   表2新建聚合对象参数说明 
   | 参数 | 参数说明                |
   |:---|:---|
   | 标签 | 聚合对象的在页面显示的名称。      |
   | 名称 | 聚合对象的名称，是在系统中的唯一标识。 |
   | 描述 | 聚合对象的描述信息。          |
      
   
   
4. 在"根节点"中，选择根节点对象。 
   根节点对象为该聚合对象的基础对象。这里根节点对象设置为"Product__CST"。选择根节点对象后，该节点对象的所有字段详情会显示在右下侧区域空白处。
   图2设置根节点对象   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960126257.png "点击放大")
   
   
5. 单击节点对象详情框中的"+"，选择与根节点关联的对象"Price__CST"，添加关联对象，只能向子对象进行关联。
   
   图3选择关联对象   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001974268342.png)
   
   
6. 选择两个对象之间的关联字段"product__CST"。
   
   两个关联对象之间，可能会有多个字段进行关联。此处，请选择希望进行关联的具体字段。
   图4选择关联字段   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960126273.png)
   选择关联字段后，关联对象"Price__CST"的所有字段详情会显示在区域中。两个关联对象之间会有连线，连线上显示关联的具体字段标签。
   图5关联结果   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960286077.png "点击放大")
   
   
7. 参考[5]\~[6]，添加与根节点关联的对象"Stock__CST"。
   
   图6添加关联对象"Stock__CST"   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001932887552.png "点击放大")
   
   
8. （可选）您可单击节点名称，在右侧"Properties"区域设置"Label"参数取值，设置节点名称，以区分不同节点。 
   表3节点名属性区域参数说明 
   | 参数   | 参数说明                                  |
   |:---|:---|
   | 标签   | 节点在界面的展示名称。                           |
   | 名称   | 节点的名称，是节点在系统中的唯一标识。                   |
   | 实体对象 | 节点的对象名。                               |
   | 对象字段 | 所用到的，该节点对象的字段。目前只能选该对象全部字段，不支持选择部分字段。 |
   | 父对象  | 节点对象的父对象。                             |
   | 子对象  | 节点对象的子对象。                             |
      
   
   
9. 单击页面上方的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960126265.png)，保存该聚合对象的设置。
 
#### 添加操作
1. 基于该聚合对象，定义增加操作。 
   1. 在左侧菜单栏中，单击操作后的"+"，设置增加操作参数。
      表4添加操作参数说明 
      | 参数      | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
      |:---|:---|
      | 标签      | 新增操作的标签，用于在界面展示。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
      | 名称      | 新增操作的名称，是操作在系统中的唯一标识。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
      | 操作类型    | 设置操作类型。 - 服务编排操作：引用已创建的服务编排执行操作。  - 脚本操作：引用已创建的脚本执行操作。   |
      | 服务编排/脚本 | 系统中具体的服务编排或脚本。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
      | 描述      | 新增操作的描述信息。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
      | 入参      | 展示该服务编排或脚本的输入参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
      | 出参      | 展示该服务编排或脚本的输出参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
         
      
   
   2. 设置完成后，单击"添加操作到聚合对象"。
   
   3. 单击页面上方的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960286089.png)，保存设置。
   
   
   
   
2. 验证新增的"Insert"操作。 
   1. 在该聚合对象编辑页面，单击选择该聚合对象的名称。
   
   2. 在聚合对象详情页面的"执行操作 \> 操作"下，选择"Insert"操作，输入相关入参，单击"执行"。
   
   3. 弹出成功提示框，表示执行"Insert"操作成功。
   
   
   
   
3. 使用预置的"查询" 操作，查询聚合对象的数据记录。 
   1. 在左侧"操作"下，单击"查询"，为系统预置的查询聚合对象接口。
   
   2. 在右侧查询页面，选中"输入根节点记录Id"，在"根节点记录Id"中输入插入数据的记录Id。
      若可以查出与根节点对象所关联的所有节点对象的数据记录，表示该聚合对象设置成功。
      ![](https://support.huaweicloud.com/usermanual-astrozero/public_sys-resources/note_3.0-zh-cn.png)
      - 根节点第一条记录：查询根节点第一条记录相关的，所关联的所有节点对象的数据记录。
      
      - 输入根节点记录Id：查询根节点某条记录相关的，所关联的所有节点对象的数据记录。
        
   
   
   
   
 
