mirror of
https://github.com/hpd840321/starRiverProperty.git
synced 2026-06-09 08:20:31 +08:00
7b2bd307f1
- backend/: 13 Maven modules (cw-elevator-application, cloudwalk-cloud, intelligent-cwoscomponent, ninca-crk, etc.) - frontend/: 4 Vue projects (elevator-front, cwos-portal, alarm-front, front_acs) + decompiled + scripts - scripts/: build, test-env, tools (Docker Compose, service templates, API parity) - docs/: AGENTS.md, superpowers specs, architecture docs - .gitignore: standard Java/Maven exclusions Moved from legacy maven-*/ root layout to backend/ organized structure.
3.2 KiB
3.2 KiB
01 设备与设备任务(device)
1.1 业务目标
- 维护 本应用视角 的电梯设备与平台设备(
DeviceService)的关联数据。 - 支持 重组/绑定:按区域、标签、组织等条件选择楼层,将 人员 或 规则 批量下发到设备侧(经远程服务)。
- 通过 设备任务(
AcsDeviceTaskService/AcsDeviceTaskServiceImpl)在楼层维度 有界并行 执行远程步骤,并 按完成顺序 推进任务上的bindDevices等进度(与走查约定 §9 一致)。
1.2 主接口 AcsElevatorDeviceService
| 方法 | 行为概要 |
|---|---|
add / edit / delete |
电梯设备增删改,写本库并协调平台设备信息 |
get / getById / getFo |
分页列表、单条、表单选项数据 |
getBuildingId / getBusinessId |
从查询条件解析楼宇或租户 |
devicePage |
走 平台 设备分页,与 Acs 表关联展示 |
listUnbindFloors / listFloors / listCondition / listConditionByLabelIds |
绑定时待选楼层、已绑楼层、条件筛选(标签等) |
bindingFloors / bindingPerson |
启动绑定:创建/更新设备任务,异步 updateFloors |
getTask / setTaskStop |
查询任务进度、停止任务 |
实现类:device/impl/AcsElevatorDeviceServiceImpl.java。
1.3 设备任务 AcsDeviceTaskService
| 方法 | 行为概要 |
|---|---|
updateFloors |
在 增加楼层 / 删除楼层 两路上,将远程调用按 每批 UPDATE_FLOORS_FLOOR_PARALLEL 个楼层 提交到 elevatorRemoteBoundedExecutor;FeignThreadLocalUtil 在子任务中恢复租户上下文;每步成功再 advanceBindProgressOne 更新 bindDevices。 |
实现类:device/impl/AcsDeviceTaskServiceImpl.java。
1.4 用例级视图(操作者:管理员 / 系统)
flowchart TB
subgraph 电梯设备管理
A[增删改电梯设备]
B[分页查询/详情]
end
subgraph 重组绑定
C[选楼层/人员或规则]
D[启动 bindingFloors/bindingPerson]
E[异步 updateFloors]
end
A --> B
C --> D --> E
1.5 时序:启动楼层绑定后异步推进(概念)
sequenceDiagram
participant Web as Web/Controller
participant Dev as AcsElevatorDeviceServiceImpl
participant Task as AcsDeviceTaskService
participant Pool as 有界线程池
participant Remote as 人员/规则 Feign
Web->>Dev: bindingFloors(参数)
Dev->>Task: 异步 updateFloors(...)
loop 每批楼层
Task->>Pool: invokeAll(子任务)
Pool->>Remote: add/delete 单楼层步骤
Remote-->>Task: 成功
Task->>Task: advanceBindProgressOne(taskId)
end
1.6 设备设置子域 device/setting
AcsDeviceSettingService:如体温相关设置查询(getTemperatureSetting)。AcsDeviceImageStoreAppBindService:设备与图库应用绑定/解绑等(实现见setting/impl)。
1.7 与邻域关系
- 规则/人员:
updateFloors内调PersonRuleService、ImageRuleRefService等,取决于绑定参数是personId还是标签/组织。 - data 层:
AcsDeviceTaskDao、设备相关 DAO 在 data 模块。