52 lines
3.0 KiB
SQL
52 lines
3.0 KiB
SQL
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);
|