Files
wvp-platform/数据库/aiot/初始化-mysql-aiot.sql
16337 346e0fc5fe feat(aiot): 数据库schema更新 - 添加离岗倒计时参数
问题描述:
- 离岗检测算法param_schema缺少leave_countdown_sec参数
- 部分默认值不符合业务需求

修改内容:
1. 初始化-mysql-aiot.sql (Line 76)
   - leave_post算法新增参数:
     "leave_countdown_sec": {"type":"int","default":300,"min":0}
   - 修正默认值:
     confirm_leave_sec: 10 → 30秒
     cooldown_sec: 300 → 600秒

2. 新增迁移脚本:迁移-添加离岗倒计时参数.sql
   - UPDATE wvp_ai_algorithm表的param_schema
   - 适用于已部署的生产环境数据库升级

参数说明:
- confirm_on_duty_sec: 上岗确认期(默认10秒)
- confirm_leave_sec: 离岗确认期(默认30秒)
- leave_countdown_sec: 离岗倒计时(默认300秒=5分钟)
- cooldown_sec: 告警冷却期(默认600秒=10分钟)

业务流程:
人离开 → 30s确认离岗 → 300s倒计时 → 触发告警

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-12 15:06:59 +08:00

78 lines
4.9 KiB
SQL
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- ============================================================
-- AIoT 智能视频管理平台 - MySQL 初始化脚本
-- 字段名与 FastAPI 端保持一致snake_case
-- ============================================================
-- 1. ROI 区域配置(对应 FastAPI 端 roi_configs
CREATE TABLE IF NOT EXISTS wvp_ai_roi (
id INT AUTO_INCREMENT PRIMARY KEY,
roi_id VARCHAR(50) NOT NULL COMMENT 'UUID与FastAPI端同步用',
camera_id VARCHAR(50) NOT NULL COMMENT '通道国标编号',
channel_db_id INT NULL COMMENT 'WVP通道表ID',
device_id VARCHAR(50) NULL COMMENT '设备国标编号',
name VARCHAR(100) NULL COMMENT 'ROI名称',
roi_type VARCHAR(20) NOT NULL DEFAULT 'rectangle' COMMENT '形状rectangle/polygon',
coordinates TEXT NOT NULL COMMENT 'JSON归一化坐标',
color VARCHAR(20) NULL DEFAULT '#FF0000' COMMENT '显示颜色',
priority INT NOT NULL DEFAULT 0 COMMENT '优先级',
enabled TINYINT(1) NOT NULL DEFAULT 1 COMMENT '启用状态',
extra_params TEXT NULL COMMENT '扩展参数JSON',
description VARCHAR(500) NULL COMMENT '描述',
create_time VARCHAR(50) NULL COMMENT '创建时间',
update_time VARCHAR(50) NULL COMMENT '更新时间',
UNIQUE KEY uk_roi_id (roi_id),
INDEX idx_camera_id (camera_id),
INDEX idx_device_id (device_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='ROI区域配置';
-- 2. 算法注册表(对应 FastAPI 端 algorithm_registry
CREATE TABLE IF NOT EXISTS wvp_ai_algorithm (
id INT AUTO_INCREMENT PRIMARY KEY,
algo_code VARCHAR(100) NOT NULL COMMENT '算法编码',
algo_name VARCHAR(200) NULL COMMENT '算法名称',
target_class VARCHAR(50) NULL COMMENT '目标类别',
param_schema TEXT NULL COMMENT '参数模板JSON',
description VARCHAR(500) NULL COMMENT '描述',
is_active TINYINT(1) NOT NULL DEFAULT 1 COMMENT '是否可用',
sync_time VARCHAR(50) NULL COMMENT '最后同步时间',
create_time VARCHAR(50) NULL COMMENT '创建时间',
update_time VARCHAR(50) NULL COMMENT '更新时间',
UNIQUE KEY uk_algo_code (algo_code)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='算法注册表';
-- 3. ROI 算法绑定(对应 FastAPI 端 roi_algo_bind
CREATE TABLE IF NOT EXISTS wvp_ai_roi_algo_bind (
id INT AUTO_INCREMENT PRIMARY KEY,
bind_id VARCHAR(50) NOT NULL COMMENT 'UUID同步用',
roi_id VARCHAR(50) NOT NULL COMMENT 'ROI的UUID',
algo_code VARCHAR(100) NOT NULL COMMENT '算法编码',
params TEXT NULL COMMENT '自定义参数JSON',
priority INT NOT NULL DEFAULT 0 COMMENT '优先级',
enabled TINYINT(1) NOT NULL DEFAULT 1 COMMENT '启用状态',
create_time VARCHAR(50) NULL COMMENT '创建时间',
update_time VARCHAR(50) NULL COMMENT '更新时间',
UNIQUE KEY uk_bind_id (bind_id),
INDEX idx_roi_id (roi_id),
INDEX idx_algo_code (algo_code)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='ROI算法绑定';
-- 4. 配置变更日志(对应 FastAPI 端 config_update_log
CREATE TABLE IF NOT EXISTS wvp_ai_config_log (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
config_type VARCHAR(30) NOT NULL COMMENT '类型ROI/ALGORITHM/BIND',
config_id VARCHAR(50) NOT NULL COMMENT '目标ID',
old_value TEXT NULL COMMENT '变更前JSON',
new_value TEXT NULL COMMENT '变更后JSON',
updated_by VARCHAR(100) NULL COMMENT '操作人',
updated_at VARCHAR(50) NULL COMMENT '操作时间',
INDEX idx_config_type (config_type),
INDEX idx_config_id (config_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='配置变更日志';
-- ============================================================
-- 初始数据预置算法2个与边缘端保持一致
-- ============================================================
INSERT INTO wvp_ai_algorithm (algo_code, algo_name, target_class, param_schema, description, is_active, create_time, update_time) VALUES
('leave_post', '离岗检测', 'person', '{"confirm_on_duty_sec":{"type":"int","default":10,"min":1},"confirm_leave_sec":{"type":"int","default":30,"min":1},"leave_countdown_sec":{"type":"int","default":300,"min":0},"cooldown_sec":{"type":"int","default":600,"min":0},"working_hours":{"type":"list","default":[]}}', '检测人员是否在岗,支持工作时间段配置', 1, NOW(), NOW()),
('intrusion', '周界入侵检测', 'person', '{"cooldown_seconds":{"type":"int","default":120,"min":0},"confirm_seconds":{"type":"int","default":5,"min":1}}', '检测人员进入指定区域', 1, NOW(), NOW());