bac4f216fc363c4abe13de058fe681d35d7081dc
沿资产层级(SUBSYSTEM→PROJECT→TENANT)向上传播,替代原 JSON_CONTAINS 全表扫描。 关键实现: - IotAlarmPropagationMapper:INSERT IGNORE 幂等批量插入;selectAlarmIdsByAsset 命中 idx_asset(asset_type, asset_id, tenant_id),毫秒级响应 - IotAlarmPropagationServiceImpl:三层传播逻辑(无 project_id 时仅 2 层) - IotAlarmRecordServiceImpl:首次触发(existing==null)时调用传播, @Lazy 注入避免循环依赖 - IotProjectMapper:最小化 Mapper(B10 有 DO 无 Mapper) - 7 个单元测试(3层/2层/无subsystem/重复幂等/分页查询) 测试:iot-server 258/258 全绿(含 B14/B15 新增 23 用例) Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Description
Languages
Java
80.2%
PLpgSQL
12.7%
TSQL
6.7%
Python
0.2%