- 实现报警记录的增删改查接口与 Mapper 层逻辑 - 添加报警记录前端页面,支持列表展示、搜索、处理与忽略操作 - 支持批量处理报警记录及导出功能 - 增加报警记录详情查看弹窗,展示图片与视频信息- 配置定时任务白名单,允许访问 ruoyi.video 包 - 引入 JavaCV 依赖以支持视频处理功能 - 添加 testng 依赖用于测试支持
83 lines
6.5 KiB
SQL
83 lines
6.5 KiB
SQL
-- 巡检任务表
|
|
CREATE TABLE `v_inspection_task` (
|
|
`task_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '巡检任务ID',
|
|
`task_name` varchar(100) NOT NULL COMMENT '任务名称',
|
|
`device_id` bigint(20) NOT NULL COMMENT '设备ID',
|
|
`device_name` varchar(100) DEFAULT NULL COMMENT '设备名称',
|
|
`cron_expression` varchar(100) NOT NULL COMMENT 'Cron表达式',
|
|
`duration` int(11) NOT NULL DEFAULT '300' COMMENT '巡检时长(秒)',
|
|
`status` char(1) NOT NULL DEFAULT '0' COMMENT '任务状态(0=启用,1=停用)',
|
|
`enable_detection` char(1) NOT NULL DEFAULT '0' COMMENT '是否启用检测(0=启用,1=停用)',
|
|
`threshold` decimal(3,2) NOT NULL DEFAULT '0.70' COMMENT '检测阈值',
|
|
`last_execute_time` datetime DEFAULT NULL COMMENT '最后执行时间',
|
|
`next_execute_time` datetime DEFAULT NULL COMMENT '下次执行时间',
|
|
`execute_count` bigint(20) DEFAULT '0' COMMENT '执行次数',
|
|
`alarm_count` bigint(20) DEFAULT '0' COMMENT '报警次数',
|
|
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
|
|
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
|
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
|
|
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
|
PRIMARY KEY (`task_id`),
|
|
KEY `idx_device_id` (`device_id`),
|
|
KEY `idx_status` (`status`),
|
|
KEY `idx_next_execute_time` (`next_execute_time`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='巡检任务表';
|
|
|
|
-- 报警记录表
|
|
CREATE TABLE `v_alarm_record` (
|
|
`alarm_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '报警记录ID',
|
|
`task_id` bigint(20) NOT NULL COMMENT '巡检任务ID',
|
|
`task_name` varchar(100) DEFAULT NULL COMMENT '任务名称',
|
|
`device_id` bigint(20) NOT NULL COMMENT '设备ID',
|
|
`device_name` varchar(100) DEFAULT NULL COMMENT '设备名称',
|
|
`alarm_type` varchar(50) NOT NULL COMMENT '报警类型',
|
|
`alarm_level` char(1) NOT NULL DEFAULT '1' COMMENT '报警级别(1=低,2=中,3=高)',
|
|
`alarm_desc` varchar(500) DEFAULT NULL COMMENT '报警描述',
|
|
`confidence` decimal(5,4) DEFAULT NULL COMMENT '检测置信度',
|
|
`image_path` varchar(500) DEFAULT NULL COMMENT '报警图片路径',
|
|
`video_path` varchar(500) DEFAULT NULL COMMENT '报警视频路径',
|
|
`alarm_time` datetime NOT NULL COMMENT '报警时间',
|
|
`handle_status` char(1) NOT NULL DEFAULT '0' COMMENT '处理状态(0=未处理,1=已处理,2=已忽略)',
|
|
`handle_by` varchar(64) DEFAULT NULL COMMENT '处理人',
|
|
`handle_time` datetime DEFAULT NULL COMMENT '处理时间',
|
|
`handle_remark` varchar(500) DEFAULT NULL COMMENT '处理备注',
|
|
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
|
|
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
|
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
|
|
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
|
PRIMARY KEY (`alarm_id`),
|
|
KEY `idx_task_id` (`task_id`),
|
|
KEY `idx_device_id` (`device_id`),
|
|
KEY `idx_alarm_time` (`alarm_time`),
|
|
KEY `idx_handle_status` (`handle_status`),
|
|
KEY `idx_alarm_level` (`alarm_level`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报警记录表';
|
|
|
|
-- 插入测试数据
|
|
INSERT INTO `v_inspection_task` (`task_name`, `device_id`, `device_name`, `cron_expression`, `duration`, `status`, `enable_detection`, `threshold`, `create_time`) VALUES
|
|
('办公区域安全巡检', 1, '办公区摄像头', '0 0 8,12,18 * * ?', 600, '0', '0', 0.75, NOW()),
|
|
('停车场巡检任务', 2, '停车场摄像头', '0 0/30 * * * ?', 300, '0', '0', 0.70, NOW()),
|
|
('仓库区域夜间巡检', 3, '仓库摄像头', '0 0 22 * * ?', 1800, '1', '0', 0.80, NOW());
|
|
|
|
-- 菜单权限数据
|
|
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) VALUES
|
|
('视频巡检', 2000, 3, 'inspection', 'video/inspection/index', 1, 0, 'C', '0', '0', 'video:inspection:list', 'monitor', 'admin', NOW(), '', NULL, '视频巡检菜单'),
|
|
('报警记录', 2000, 4, 'alarm', 'video/alarm/index', 1, 0, 'C', '0', '0', 'video:alarm:list', 'bug', 'admin', NOW(), '', NULL, '报警记录菜单');
|
|
|
|
-- 巡检任务权限
|
|
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) VALUES
|
|
('巡检任务查询', (SELECT menu_id FROM sys_menu WHERE perms = 'video:inspection:list'), 1, '', '', 1, 0, 'F', '0', '0', 'video:inspection:query', '#', 'admin', NOW(), '', NULL, ''),
|
|
('巡检任务新增', (SELECT menu_id FROM sys_menu WHERE perms = 'video:inspection:list'), 2, '', '', 1, 0, 'F', '0', '0', 'video:inspection:add', '#', 'admin', NOW(), '', NULL, ''),
|
|
('巡检任务修改', (SELECT menu_id FROM sys_menu WHERE perms = 'video:inspection:list'), 3, '', '', 1, 0, 'F', '0', '0', 'video:inspection:edit', '#', 'admin', NOW(), '', NULL, ''),
|
|
('巡检任务删除', (SELECT menu_id FROM sys_menu WHERE perms = 'video:inspection:list'), 4, '', '', 1, 0, 'F', '0', '0', 'video:inspection:remove', '#', 'admin', NOW(), '', NULL, ''),
|
|
('巡检任务导出', (SELECT menu_id FROM sys_menu WHERE perms = 'video:inspection:list'), 5, '', '', 1, 0, 'F', '0', '0', 'video:inspection:export', '#', 'admin', NOW(), '', NULL, ''),
|
|
('巡检任务启动', (SELECT menu_id FROM sys_menu WHERE perms = 'video:inspection:list'), 6, '', '', 1, 0, 'F', '0', '0', 'video:inspection:start', '#', 'admin', NOW(), '', NULL, ''),
|
|
('巡检任务停止', (SELECT menu_id FROM sys_menu WHERE perms = 'video:inspection:list'), 7, '', '', 1, 0, 'F', '0', '0', 'video:inspection:stop', '#', 'admin', NOW(), '', NULL, ''),
|
|
('巡检任务执行', (SELECT menu_id FROM sys_menu WHERE perms = 'video:inspection:list'), 8, '', '', 1, 0, 'F', '0', '0', 'video:inspection:execute', '#', 'admin', NOW(), '', NULL, '');
|
|
|
|
-- 报警记录权限
|
|
INSERT INTO sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) VALUES
|
|
('报警记录查询', (SELECT menu_id FROM sys_menu WHERE perms = 'video:alarm:list'), 1, '', '', 1, 0, 'F', '0', '0', 'video:alarm:query', '#', 'admin', NOW(), '', NULL, ''),
|
|
('报警记录导出', (SELECT menu_id FROM sys_menu WHERE perms = 'video:alarm:list'), 2, '', '', 1, 0, 'F', '0', '0', 'video:alarm:export', '#', 'admin', NOW(), '', NULL, ''),
|
|
('报警记录处理', (SELECT menu_id FROM sys_menu WHERE perms = 'video:alarm:list'), 3, '', '', 1, 0, 'F', '0', '0', 'video:alarm:handle', '#', 'admin', NOW(), '', NULL, ''); |