# 05 区域与电梯区域编码(`zone` / `codeElevatorArea`) ## 5.1 `ZoneService` | 方法 | 概要 | |------|------| | `tree` | 入参 `ZoneNextTreeParam`,调 **平台区域/系统设置** 能力,组装 **下一级树** 等,返回 `List`(实现中常经 Feign + 工具类 `ZoneTreeCollectors`) | | `page` | 区域维度的分页列表 `ZoneResult` | **实现类**:`zone/impl/ZoneServiceImpl.java`。 ## 5.2 `AcsElevatorCodeService`(`codeElevatorArea`) | 方法 | 概要 | |------|------| | `insertNew` / `updateOld` | 电梯与区域绑定的 **编码** 数据维护 | | `get` / `getFirstByParentId` | 单条/按父级取首条 | | `mapByZoneIds` | **批量** 按区域 id 查电梯编码,供树形接口 **一次** 拉取,避免 N+1(见接口内 Javadoc) | ## 5.3 时序:区域树 + 树上网格批量取码(概念) ```mermaid sequenceDiagram participant Web as 上层 participant Z as ZoneService participant Sy as 平台区域服务 participant C as AcsElevatorCodeService Web->>Z: tree(参数) Z->>Sy: Feign 取区域 Sy-->>Z: AreaTree Z-->>Web: ZoneTreeResult Web->>C: mapByZoneIds(多 zoneId) C-->>Web: Map 区域id→编码 ``` ## 5.4 用例简图 ```mermaid flowchart TB U[运营/系统] U --> T[浏览区域树选楼层] U --> M[维护电梯-区域码] T --> ZoneService M --> AcsElevatorCodeService ```