ForgeFlow-ERP/backend/sql/add_system_extension_patch.sql
2026-06-12 16:00:56 +08:00

52 lines
3.0 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.

CREATE TABLE IF NOT EXISTS sys_broadcast_message (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
title VARCHAR(100) NOT NULL COMMENT '广播标题',
content VARCHAR(500) NOT NULL COMMENT '广播内容',
tone VARCHAR(32) NOT NULL DEFAULT 'INFO' COMMENT '提示类型INFO/SUCCESS/WARNING/DANGER',
status VARCHAR(32) NOT NULL DEFAULT 'ACTIVE' COMMENT '状态ACTIVE/PAUSED',
starts_at DATETIME NULL COMMENT '开始展示时间',
ends_at DATETIME NULL COMMENT '结束展示时间',
sort_no INT NOT NULL DEFAULT 0 COMMENT '排序号,越大越优先',
created_by BIGINT NULL COMMENT '创建用户ID',
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
KEY idx_broadcast_status_time (status, starts_at, ends_at),
CONSTRAINT fk_broadcast_created_by FOREIGN KEY (created_by) REFERENCES sys_user(id)
) ENGINE=InnoDB COMMENT='系统广播消息';
CREATE TABLE IF NOT EXISTS sys_ai_assistant_config (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
assistant_name VARCHAR(100) NOT NULL DEFAULT '嘉恒工艺助手' COMMENT '助手名称',
provider_name VARCHAR(100) NULL COMMENT 'LLM供应商名称',
api_base_url VARCHAR(255) NULL COMMENT 'LLM API基础地址',
api_key VARCHAR(512) NULL COMMENT 'LLM API密钥',
model_name VARCHAR(100) NULL COMMENT '模型名称',
temperature DECIMAL(6,3) NOT NULL DEFAULT 0.300 COMMENT '温度参数',
system_prompt TEXT NULL COMMENT '新建对话系统提示词',
enabled TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否启用真实LLM',
created_by BIGINT NULL COMMENT '创建用户ID',
updated_by BIGINT NULL COMMENT '更新用户ID',
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
CONSTRAINT fk_ai_config_created_by FOREIGN KEY (created_by) REFERENCES sys_user(id),
CONSTRAINT fk_ai_config_updated_by FOREIGN KEY (updated_by) REFERENCES sys_user(id)
) ENGINE=InnoDB COMMENT='AI助手配置';
INSERT INTO sys_permission (permission_code, permission_name, module_code, action_code, status)
SELECT 'MENU_SYSTEM_EXTENSION', '系统拓展菜单', 'SYSTEM_EXTENSION', 'VIEW', 'ACTIVE'
FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM sys_permission WHERE permission_code = 'MENU_SYSTEM_EXTENSION');
INSERT INTO sys_role_permission (role_id, permission_id)
SELECT r.id, p.id
FROM sys_role r
JOIN sys_permission p ON p.permission_code = 'MENU_SYSTEM_EXTENSION'
LEFT JOIN sys_role_permission existing ON existing.role_id = r.id AND existing.permission_id = p.id
WHERE r.role_code = 'ADMIN'
AND existing.id IS NULL;
INSERT INTO sys_broadcast_message (title, content, tone, status, sort_no)
SELECT '系统提示', '系统拓展模块已启用,后续通知会在右上角喇叭横幅展示。', 'INFO', 'ACTIVE', 10
FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM sys_broadcast_message);