1d11bf9fc3
- 后端:创建system_messages表模型和Schema - 后端:实现消息创建、查询、标记已读的服务层 - 后端:新增REST API接口(需admin.system_message权限) - 前端:完善系统消息抽屉弹窗,显示消息列表 - 前端:自动加载未读数量,支持标记已读 - 数据库:新增迁移脚本建表 Co-authored-by: multica-agent <github@multica.ai>
26 lines
1.1 KiB
SQL
26 lines
1.1 KiB
SQL
-- Migration: Add system_messages table for system notifications
|
|
-- Date: 2026-06-13
|
|
-- Description: Create system_messages table to support sending notifications to users
|
|
|
|
CREATE TABLE IF NOT EXISTS system_messages (
|
|
message_id VARCHAR(36) PRIMARY KEY,
|
|
title VARCHAR(255) NOT NULL,
|
|
content TEXT NOT NULL,
|
|
message_type VARCHAR(32) NOT NULL DEFAULT 'info',
|
|
target_user_id VARCHAR(36),
|
|
is_read BOOLEAN NOT NULL DEFAULT FALSE,
|
|
created_at TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT (NOW() AT TIME ZONE 'UTC'),
|
|
read_at TIMESTAMP WITHOUT TIME ZONE
|
|
);
|
|
|
|
CREATE INDEX idx_system_messages_target_user ON system_messages(target_user_id);
|
|
CREATE INDEX idx_system_messages_is_read ON system_messages(is_read);
|
|
CREATE INDEX idx_system_messages_created_at ON system_messages(created_at);
|
|
CREATE INDEX idx_system_messages_type ON system_messages(message_type);
|
|
|
|
-- Notes:
|
|
-- - target_user_id is NULL for broadcast messages (sent to all users)
|
|
-- - target_user_id references users.user_id for user-specific messages
|
|
-- - message_type values: 'info', 'warning', 'error', 'success'
|
|
-- - is_read tracks whether the message has been read by the target user
|