报警功能测试说明.md 3.2 KB

报警功能测试说明

一、数据库准备

首先在数据库中执行 alarm_data_table.sql 文件,创建报警数据表:

-- 报警数据表
CREATE TABLE IF NOT EXISTS `alarm_data` (
  `id` varchar(64) NOT NULL COMMENT '主键',
  `device_name` varchar(255) DEFAULT NULL COMMENT '设备名称',
  `device_code` varchar(255) DEFAULT NULL COMMENT '设备编码',
  `device_type` varchar(100) DEFAULT NULL COMMENT '设备类型',
  `warning_type` varchar(100) DEFAULT NULL COMMENT '预警类型',
  `warning_code` varchar(100) DEFAULT NULL COMMENT '预警编码',
  `warning_value` decimal(10,2) DEFAULT NULL COMMENT '预警阈值',
  `actual_value` decimal(10,2) DEFAULT NULL COMMENT '实际值',
  `alarm_status` int(1) DEFAULT 0 COMMENT '报警状态 0-未处理 1-已处理',
  `alarm_time` datetime DEFAULT NULL COMMENT '报警时间',
  `handle_time` datetime DEFAULT NULL COMMENT '处理时间',
  `handle_user` varchar(255) DEFAULT NULL COMMENT '处理人',
  `handle_remark` text COMMENT '处理备注',
  `remark` text COMMENT '备注',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`),
  KEY `idx_device_code` (`device_code`),
  KEY `idx_alarm_status` (`alarm_status`),
  KEY `idx_alarm_time` (`alarm_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报警数据表';

二、启动服务

启动 zk-api-service 服务。

三、测试接口

1. 模拟井盖设备报警

GET /alarmTest/simulateManhole

模拟井盖设备采集数据,会随机生成温度和倾斜角度,超过阈值时自动创建报警记录。

2. 模拟可燃气体设备报警

GET /alarmTest/simulateGas

模拟可燃气体设备采集数据,会随机生成温度、湿度和气体浓度,超过阈值时自动创建报警记录。

3. 模拟环境设备报警

GET /alarmTest/simulateEnvironment

模拟环境设备采集数据,会随机生成温度和湿度,超过阈值时自动创建报警记录。

4. 自定义报警

POST /alarmTest/customAlarm
Content-Type: application/json

{
  "deviceName": "自定义设备",
  "deviceCode": "CUSTOM-001",
  "deviceType": "custom",
  "warningType": "自定义预警",
  "warningCode": "WARN-CUSTOM",
  "warningValue": 100,
  "actualValue": 150,
  "remark": "自定义测试报警"
}

5. 查询报警数据

GET /alarmData/findByPage?pageNum=1&pageSize=10

分页查询报警数据。

6. 处理报警

POST /alarmData/handle
Content-Type: application/json

{
  "id": "报警记录ID",
  "handleUser": "处理人",
  "handleRemark": "处理备注"
}

四、已集成报警功能的服务

  • manhole-service - 井盖服务
  • flammable-gas-service - 可燃气体服务
  • environment-service - 环境服务

五、其他服务集成方式

对于其他服务(audio-service, firefighting-pressure-service, radar-service, telemetry-service, water-level-service),可以按照以下步骤集成:

  1. 创建 AlarmUtil.java 工具类(参考已有的实现)
  2. 在数据保存的 Service 中注入 AlarmUtil
  3. 在数据保存成功后调用报警检查方法