docs: 更新项目文档和数据库设计,添加官网相关功能
This commit is contained in:
@@ -914,9 +914,87 @@ CREATE TABLE government_reports (
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='政府监管报告表';
|
||||
```
|
||||
|
||||
## 官网相关表设计
|
||||
|
||||
### 1. 官网首页配置表 (website_homepage)
|
||||
存储官网首页的配置信息。
|
||||
|
||||
```sql
|
||||
CREATE TABLE website_homepage (
|
||||
id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY COMMENT '配置ID',
|
||||
section_name VARCHAR(50) NOT NULL COMMENT '板块名称',
|
||||
content_type ENUM('banner', 'video', 'text', 'link') NOT NULL COMMENT '内容类型',
|
||||
title VARCHAR(100) NOT NULL COMMENT '标题',
|
||||
subtitle VARCHAR(200) COMMENT '副标题',
|
||||
content TEXT COMMENT '内容',
|
||||
media_url VARCHAR(255) COMMENT '媒体文件URL(图片或视频)',
|
||||
link_url VARCHAR(255) COMMENT '链接地址',
|
||||
sort_order INT DEFAULT 0 COMMENT '排序顺序',
|
||||
is_active BOOLEAN DEFAULT TRUE COMMENT '是否启用',
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
|
||||
INDEX idx_section (section_name),
|
||||
INDEX idx_active (is_active),
|
||||
INDEX idx_sort (sort_order)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='官网首页配置表';
|
||||
```
|
||||
|
||||
### 2. 新闻资讯表 (news_articles)
|
||||
存储新闻资讯信息。
|
||||
|
||||
```sql
|
||||
CREATE TABLE news_articles (
|
||||
id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY COMMENT '新闻ID',
|
||||
title VARCHAR(150) NOT NULL COMMENT '标题',
|
||||
subtitle VARCHAR(200) COMMENT '副标题',
|
||||
content TEXT NOT NULL COMMENT '内容',
|
||||
author VARCHAR(50) COMMENT '作者',
|
||||
source VARCHAR(100) COMMENT '来源',
|
||||
cover_image VARCHAR(255) COMMENT '封面图片URL',
|
||||
is_featured BOOLEAN DEFAULT FALSE COMMENT '是否推荐',
|
||||
status ENUM('draft', 'published', 'archived') DEFAULT 'draft' COMMENT '状态',
|
||||
publish_date TIMESTAMP NULL COMMENT '发布时间',
|
||||
category VARCHAR(50) COMMENT '分类',
|
||||
views INT UNSIGNED DEFAULT 0 COMMENT '浏览量',
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
|
||||
FOREIGN KEY (author_id) REFERENCES users(id) ON DELETE SET NULL,
|
||||
INDEX idx_status (status),
|
||||
INDEX idx_category (category),
|
||||
INDEX idx_publish_date (publish_date)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='新闻资讯表';
|
||||
```
|
||||
|
||||
### 3. 政策公告表 (policy_announcements)
|
||||
存储政策公告信息。
|
||||
|
||||
```sql
|
||||
CREATE TABLE policy_announcements (
|
||||
id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY COMMENT '公告ID',
|
||||
title VARCHAR(150) NOT NULL COMMENT '标题',
|
||||
content TEXT NOT NULL COMMENT '内容',
|
||||
issuer VARCHAR(100) NOT NULL COMMENT '发布机构',
|
||||
issue_date DATE NOT NULL COMMENT '发布日期',
|
||||
effective_date DATE COMMENT '生效日期',
|
||||
document_number VARCHAR(50) COMMENT '文号',
|
||||
attachment_url VARCHAR(255) COMMENT '附件URL',
|
||||
is_important BOOLEAN DEFAULT FALSE COMMENT '是否重要公告',
|
||||
status ENUM('draft', 'published', 'expired') DEFAULT 'draft' COMMENT '状态',
|
||||
views INT UNSIGNED DEFAULT 0 COMMENT '浏览量',
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
|
||||
INDEX idx_issue_date (issue_date),
|
||||
INDEX idx_status (status),
|
||||
INDEX idx_issuer (issuer)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='政策公告表';
|
||||
```
|
||||
|
||||
## 数据库关系图
|
||||
|
||||
```mermaid
|
||||
```
|
||||
erDiagram
|
||||
users ||--o{ user_roles : has
|
||||
roles ||--o{ user_roles : includes
|
||||
@@ -946,6 +1024,8 @@ erDiagram
|
||||
users ||--o{ claims : reviews
|
||||
users ||--o{ government_reports : submits
|
||||
users ||--o{ government_reports : approves
|
||||
users ||--o{ news : authors
|
||||
users ||--o{ messages : processes
|
||||
|
||||
users {
|
||||
BIGINT id PK
|
||||
@@ -1271,4 +1351,79 @@ erDiagram
|
||||
TIMESTAMP created_at
|
||||
TIMESTAMP updated_at
|
||||
}
|
||||
|
||||
news {
|
||||
BIGINT id PK
|
||||
VARCHAR title
|
||||
TEXT summary
|
||||
LONGTEXT content
|
||||
ENUM category
|
||||
VARCHAR image_url
|
||||
BIGINT author_id FK
|
||||
INT views
|
||||
ENUM status
|
||||
TIMESTAMP published_at
|
||||
TIMESTAMP created_at
|
||||
TIMESTAMP updated_at
|
||||
}
|
||||
|
||||
messages {
|
||||
BIGINT id PK
|
||||
VARCHAR name
|
||||
VARCHAR email
|
||||
VARCHAR phone
|
||||
TEXT content
|
||||
ENUM status
|
||||
BIGINT processed_by FK
|
||||
TIMESTAMP processed_at
|
||||
TIMESTAMP created_at
|
||||
TIMESTAMP updated_at
|
||||
}
|
||||
```
|
||||
|
||||
### 21. 新闻资讯表 (news)
|
||||
存储官网新闻资讯信息。
|
||||
|
||||
```sql
|
||||
CREATE TABLE news (
|
||||
id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY COMMENT '新闻ID',
|
||||
title VARCHAR(200) NOT NULL COMMENT '标题',
|
||||
summary TEXT COMMENT '摘要',
|
||||
content LONGTEXT NOT NULL COMMENT '内容',
|
||||
category ENUM('policy', 'market', 'technology', 'general') NOT NULL COMMENT '分类: 政策解读/市场动态/技术前沿/综合',
|
||||
image_url VARCHAR(255) COMMENT '封面图片URL',
|
||||
author_id BIGINT UNSIGNED COMMENT '作者ID',
|
||||
views INT DEFAULT 0 COMMENT '浏览量',
|
||||
status ENUM('draft', 'published', 'archived') DEFAULT 'draft' COMMENT '状态: 草稿/已发布/已归档',
|
||||
published_at TIMESTAMP NULL COMMENT '发布时间',
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
|
||||
FOREIGN KEY (author_id) REFERENCES users(id) ON DELETE SET NULL,
|
||||
INDEX idx_category (category),
|
||||
INDEX idx_status (status),
|
||||
INDEX idx_published_at (published_at)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='新闻资讯表';
|
||||
```
|
||||
|
||||
### 22. 用户留言表 (messages)
|
||||
存储用户在官网提交的留言信息。
|
||||
|
||||
```sql
|
||||
CREATE TABLE messages (
|
||||
id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY COMMENT '留言ID',
|
||||
name VARCHAR(50) NOT NULL COMMENT '姓名',
|
||||
email VARCHAR(100) NOT NULL COMMENT '邮箱',
|
||||
phone VARCHAR(20) COMMENT '电话',
|
||||
content TEXT NOT NULL COMMENT '留言内容',
|
||||
status ENUM('pending', 'processed', 'archived') DEFAULT 'pending' COMMENT '状态: 待处理/已处理/已归档',
|
||||
processed_by BIGINT UNSIGNED COMMENT '处理人ID',
|
||||
processed_at TIMESTAMP NULL COMMENT '处理时间',
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
|
||||
FOREIGN KEY (processed_by) REFERENCES users(id) ON DELETE SET NULL,
|
||||
INDEX idx_status (status),
|
||||
INDEX idx_created_at (created_at)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户留言表';
|
||||
```
|
||||
Reference in New Issue
Block a user