Files
chuanggao-website/design/schema.sql.bak

799 lines
39 KiB
MySQL
Raw Normal View History

2026-05-12 16:53:18 +08:00
-- ============================================================
-- 创高家具官网数据库设计
-- 库名: chuanggao_furniture
-- 表前缀: f_
-- 特性: 支持中英文双语、MinIO图片存储、SEO配置
-- 风格: 深色底+金属质感+简约现代
-- ============================================================
--
-- 【基础字段约定】每张业务表使用统一主键与审计字段,便于后端公共填充与逻辑删除:
-- id BIGINT PRIMARY KEY COMMENT '主键'
-- create_by BIGINT COMMENT '创建人用户IDf_admin_user.id可空'
-- update_by BIGINT COMMENT '更新人用户ID可空'
-- create_time DATETIME COMMENT '创建时间'
-- update_time DATETIME COMMENT '更新时间'
-- remark VARCHAR(512) COMMENT '备注(业务或维护说明)'
-- del_flag CHAR(1) COMMENT '删除标志0正常 2已删除'
--
-- 【说明】主键字段统一命名为 id注释主键外键含义由 category_id、user_id 等表达。
-- 【软删除】f_page_block、f_admin_user.username 等与唯一性冲突的场景,须在应用侧保证「未删除数据」唯一或使用归档策略;
-- admin 用户名如坚持库级 UNIQUE可避免复用已被软删除的账号名。
--
-- ============================================================
-- ============================================================
-- 1. 公司基础信息配置
-- ============================================================
CREATE TABLE f_company (
id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
site_code VARCHAR(32) NOT NULL DEFAULT 'cg' COMMENT '站点代码',
-- 品牌信息(中英文)
brand_name_zh VARCHAR(128) NOT NULL COMMENT '品牌名称-中文',
brand_name_en VARCHAR(128) COMMENT '品牌名称-英文',
slogan_zh VARCHAR(256) COMMENT '品牌口号-中文',
slogan_en VARCHAR(256) COMMENT '品牌口号-英文',
-- 联系信息
contact_phone VARCHAR(32) COMMENT '联系电话',
contact_email VARCHAR(128) COMMENT '联系邮箱',
address_zh VARCHAR(512) COMMENT '公司地址-中文',
address_en VARCHAR(512) COMMENT '公司地址-英文',
-- 社交媒体
wechat_qr VARCHAR(512) COMMENT '微信公众号二维码图片URL',
weibo_url VARCHAR(256) COMMENT '微博链接',
douyin_url VARCHAR(256) COMMENT '抖音链接',
xiaohongshu_url VARCHAR(256) COMMENT '小红书链接',
-- 备案信息
icp_record VARCHAR(64) COMMENT 'ICP备案号',
copyright_text VARCHAR(256) COMMENT '版权信息',
-- SEO
seo_title_zh VARCHAR(128) COMMENT '首页SEO标题-中文',
seo_title_en VARCHAR(128) COMMENT '首页SEO标题-英文',
seo_keywords_zh VARCHAR(512) COMMENT 'SEO关键词-中文',
seo_keywords_en VARCHAR(512) COMMENT 'SEO关键词-英文',
seo_description_zh VARCHAR(1024) COMMENT 'SEO描述-中文',
seo_description_en VARCHAR(1024) COMMENT 'SEO描述-英文',
-- 统计代码
analytics_code TEXT COMMENT '统计代码(百度/谷歌)',
create_by BIGINT DEFAULT NULL COMMENT '创建人用户IDf_admin_user.id',
update_by BIGINT DEFAULT NULL COMMENT '更新人用户IDf_admin_user.id',
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
remark VARCHAR(512) DEFAULT NULL COMMENT '备注',
del_flag CHAR(1) NOT NULL DEFAULT '0' COMMENT '删除标志0正常 2已删除',
INDEX idx_site_code(site_code),
INDEX idx_site_del(site_code, del_flag)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='公司基础信息配置';
-- 初始化数据
INSERT INTO f_company (id, site_code, brand_name_zh, brand_name_en, slogan_zh, slogan_en)
VALUES (1, 'cg', '创高家具', 'ChuangGao Furniture', '匠心定制,品质生活', 'Crafted for Quality Living');
-- ============================================================
-- 2. 轮播图管理首页Banner + 其他页面轮播)
-- ============================================================
CREATE TABLE f_carousel (
id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
site_code VARCHAR(32) NOT NULL DEFAULT 'cg' COMMENT '站点代码',
-- 位置标识
position VARCHAR(64) NOT NULL COMMENT '轮播位置: home_banner, about_banner, product_banner等',
position_name_zh VARCHAR(64) COMMENT '位置名称-中文',
position_name_en VARCHAR(64) COMMENT '位置名称-英文',
-- 排序权重
sort_order INT DEFAULT 0 COMMENT '排序(越小越靠前)',
-- 图片(不同尺寸适配)
image_pc VARCHAR(512) NOT NULL COMMENT 'PC端图片URL',
image_mobile VARCHAR(512) COMMENT '移动端图片URL',
image_alt_zh VARCHAR(256) COMMENT '图片Alt-中文',
image_alt_en VARCHAR(256) COMMENT '图片Alt-英文',
-- 文案内容
title_zh VARCHAR(256) COMMENT '标题-中文',
title_en VARCHAR(256) COMMENT '标题-英文',
subtitle_zh VARCHAR(512) COMMENT '副标题-中文',
subtitle_en VARCHAR(512) COMMENT '副标题-英文',
description_zh TEXT COMMENT '描述-中文',
description_en TEXT COMMENT '描述-英文',
-- 按钮配置
btn_text_zh VARCHAR(64) COMMENT '按钮文字-中文',
btn_text_en VARCHAR(64) COMMENT '按钮文字-英文',
btn_link VARCHAR(512) COMMENT '按钮链接',
btn_style VARCHAR(64) DEFAULT 'primary' COMMENT '按钮样式: primary/outline/ghost',
-- 状态
status TINYINT DEFAULT 1 COMMENT '状态: 0禁用 1启用',
start_time TIMESTAMP NULL COMMENT '生效开始时间',
end_time TIMESTAMP NULL COMMENT '生效结束时间',
create_by BIGINT DEFAULT NULL COMMENT '创建人用户IDf_admin_user.id',
update_by BIGINT DEFAULT NULL COMMENT '更新人用户IDf_admin_user.id',
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
remark VARCHAR(512) DEFAULT NULL COMMENT '备注',
del_flag CHAR(1) NOT NULL DEFAULT '0' COMMENT '删除标志0正常 2已删除',
INDEX idx_site_position(site_code, position),
INDEX idx_sort(sort_order),
INDEX idx_site_del(site_code, del_flag)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='轮播图管理';
-- 初始化首页Banner示例
INSERT INTO f_carousel (site_code, position, sort_order, image_pc, title_zh, title_en, subtitle_zh, subtitle_en, btn_text_zh, btn_text_en, btn_link, btn_style) VALUES
('cg', 'home_banner', 1, '/uploads/carousel/home-01.jpg', '全屋定制 匠心之作', 'Whole House Customization', '从设计到安装,一站式高端定制服务', 'From Design to Installation, Premium One-Stop Service', '立即咨询', 'Contact Us', '/contact', 'primary'),
('cg', 'home_banner', 2, '/uploads/carousel/home-02.jpg', '高端家具 品质生活', 'Premium Furniture', '精选进口材质,打造舒适家居体验', 'Selected Imported Materials for Comfortable Living', '查看产品', 'View Products', '/products', 'outline'),
('cg', 'home_banner', 3, '/uploads/carousel/home-03.jpg', '工程合作 专业保障', 'Commercial Projects', '酒店、办公、精装房全屋定制解决方案', 'Custom Solutions for Hotels, Offices & Apartments', '了解更多', 'Learn More', '/cases', 'outline');
-- ============================================================
-- 3. 产品分类(支持多级分类)
-- ============================================================
CREATE TABLE f_product_category (
id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
site_code VARCHAR(32) NOT NULL DEFAULT 'cg' COMMENT '站点代码',
-- 层级关系
parent_id BIGINT DEFAULT 0 COMMENT '父分类ID0为顶级',
level TINYINT DEFAULT 1 COMMENT '层级: 1一级 2二级',
-- 分类信息(中英文)
name_zh VARCHAR(128) NOT NULL COMMENT '分类名称-中文',
name_en VARCHAR(128) COMMENT '分类名称-英文',
code VARCHAR(64) COMMENT '分类代码URL用',
-- 展示配置
icon VARCHAR(512) COMMENT '分类图标URL',
image VARCHAR(512) COMMENT '分类封面图URL',
banner_image VARCHAR(512) COMMENT '分类页Banner图',
-- 描述
description_zh TEXT COMMENT '分类描述-中文',
description_en TEXT COMMENT '分类描述-英文',
-- SEO
seo_title_zh VARCHAR(128) COMMENT 'SEO标题-中文',
seo_title_en VARCHAR(128) COMMENT 'SEO标题-英文',
seo_keywords_zh VARCHAR(512) COMMENT 'SEO关键词-中文',
seo_keywords_en VARCHAR(512) COMMENT 'SEO关键词-英文',
-- 显示控制
sort_order INT DEFAULT 0 COMMENT '排序',
is_show TINYINT DEFAULT 1 COMMENT '是否显示: 0否 1是',
is_hot TINYINT DEFAULT 0 COMMENT '是否热门: 0否 1是',
create_by BIGINT DEFAULT NULL COMMENT '创建人用户IDf_admin_user.id',
update_by BIGINT DEFAULT NULL COMMENT '更新人用户IDf_admin_user.id',
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
remark VARCHAR(512) DEFAULT NULL COMMENT '备注',
del_flag CHAR(1) NOT NULL DEFAULT '0' COMMENT '删除标志0正常 2已删除',
INDEX idx_site_parent(site_code, parent_id),
INDEX idx_code(code),
INDEX idx_sort(sort_order),
INDEX idx_site_del(site_code, del_flag)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='产品分类';
-- 初始化产品分类
INSERT INTO f_product_category (id, site_code, parent_id, level, name_zh, name_en, code, sort_order, is_show, is_hot) VALUES
(1, 'cg', 0, 1, '全屋定制', 'Whole House Custom', 'custom', 1, 1, 1),
(2, 'cg', 0, 1, '客厅家具', 'Living Room', 'living-room', 2, 1, 1),
(3, 'cg', 0, 1, '卧室家具', 'Bedroom', 'bedroom', 3, 1, 1),
(4, 'cg', 0, 1, '餐厅家具', 'Dining Room', 'dining-room', 4, 1, 0),
(5, 'cg', 0, 1, '办公家具', 'Office Furniture', 'office', 5, 1, 0),
(6, 'cg', 0, 1, '工程项目', 'Commercial Projects', 'commercial', 6, 1, 1);
-- 二级分类示例(客厅家具)
INSERT INTO f_product_category (site_code, parent_id, level, name_zh, name_en, code, sort_order, is_show) VALUES
('cg', 2, 2, '沙发', 'Sofa', 'sofa', 1, 1),
('cg', 2, 2, '茶几', 'Coffee Table', 'coffee-table', 2, 1),
('cg', 2, 2, '电视柜', 'TV Cabinet', 'tv-cabinet', 3, 1),
('cg', 2, 2, '鞋柜', 'Shoe Cabinet', 'shoe-cabinet', 4, 1);
-- ============================================================
-- 4. 产品信息
-- ============================================================
CREATE TABLE f_product (
id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
site_code VARCHAR(32) NOT NULL DEFAULT 'cg' COMMENT '站点代码',
-- 分类关联
category_id BIGINT NOT NULL COMMENT '所属分类ID',
category_path VARCHAR(512) COMMENT '分类路径(冗余存储)',
-- 基本信息
name_zh VARCHAR(256) NOT NULL COMMENT '产品名称-中文',
name_en VARCHAR(256) COMMENT '产品名称-英文',
code VARCHAR(128) COMMENT '产品型号/编码',
-- 图片(主图+相册)
main_image VARCHAR(512) COMMENT '主图URL',
images_json JSON COMMENT '相册图片数组JSON格式',
scene_images_json JSON COMMENT '场景展示图数组JSON格式',
-- 产品描述
summary_zh VARCHAR(512) COMMENT '产品简介-中文',
summary_en VARCHAR(512) COMMENT '产品简介-英文',
description_zh TEXT COMMENT '详细描述-中文',
description_en TEXT COMMENT '详细描述-英文',
-- 产品参数JSON存储灵活配置
params_json JSON COMMENT '产品参数: [{"name_zh":"材质","name_en":"Material","value_zh":"真皮","value_en":"Genuine Leather"}]',
-- 规格尺寸
size_zh VARCHAR(256) COMMENT '尺寸规格-中文',
size_en VARCHAR(256) COMMENT '尺寸规格-英文',
material_zh VARCHAR(256) COMMENT '材质说明-中文',
material_en VARCHAR(256) COMMENT '材质说明-英文',
-- 场景标签
scene_tags_zh VARCHAR(512) COMMENT '适用场景标签-中文,逗号分隔',
scene_tags_en VARCHAR(512) COMMENT '适用场景标签-英文,逗号分隔',
style_tags_zh VARCHAR(512) COMMENT '风格标签-中文,逗号分隔',
style_tags_en VARCHAR(512) COMMENT '风格标签-英文,逗号分隔',
-- 价格(可隐藏或显示范围)
price_min DECIMAL(12,2) COMMENT '最低价格',
price_max DECIMAL(12,2) COMMENT '最高价格',
price_unit_zh VARCHAR(32) DEFAULT '' COMMENT '价格单位-中文',
price_unit_en VARCHAR(32) DEFAULT 'CNY' COMMENT '价格单位-英文',
is_show_price TINYINT DEFAULT 0 COMMENT '是否显示价格: 0否 1是',
-- 状态控制
is_hot TINYINT DEFAULT 0 COMMENT '是否热门: 0否 1是',
is_new TINYINT DEFAULT 0 COMMENT '是否新品: 0否 1是',
is_recommend TINYINT DEFAULT 0 COMMENT '是否推荐: 0否 1是',
status TINYINT DEFAULT 1 COMMENT '状态: 0下架 1上架',
-- 排序浏览
sort_order INT DEFAULT 0 COMMENT '排序',
view_count INT DEFAULT 0 COMMENT '浏览次数',
-- SEO
seo_title_zh VARCHAR(128) COMMENT 'SEO标题-中文',
seo_title_en VARCHAR(128) COMMENT 'SEO标题-英文',
seo_keywords_zh VARCHAR(512) COMMENT 'SEO关键词-中文',
seo_keywords_en VARCHAR(512) COMMENT 'SEO关键词-英文',
seo_description_zh VARCHAR(1024) COMMENT 'SEO描述-中文',
seo_description_en VARCHAR(1024) COMMENT 'SEO描述-英文',
create_by BIGINT DEFAULT NULL COMMENT '创建人用户IDf_admin_user.id',
update_by BIGINT DEFAULT NULL COMMENT '更新人用户IDf_admin_user.id',
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
remark VARCHAR(512) DEFAULT NULL COMMENT '备注',
del_flag CHAR(1) NOT NULL DEFAULT '0' COMMENT '删除标志0正常 2已删除',
INDEX idx_site_category(site_code, category_id),
INDEX idx_status(status),
INDEX idx_hot(is_hot),
INDEX idx_new(is_new),
INDEX idx_recommend(is_recommend),
INDEX idx_sort(sort_order),
INDEX idx_site_del(site_code, del_flag)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='产品信息';
-- ============================================================
-- 5. 案例分类
-- ============================================================
CREATE TABLE f_case_category (
id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
site_code VARCHAR(32) NOT NULL DEFAULT 'cg' COMMENT '站点代码',
name_zh VARCHAR(128) NOT NULL COMMENT '分类名称-中文',
name_en VARCHAR(128) COMMENT '分类名称-英文',
code VARCHAR(64) COMMENT '分类代码',
-- 分类类型
type VARCHAR(64) COMMENT '类型: space(空间场景) / style(风格) / area(面积)',
description_zh TEXT COMMENT '分类描述-中文',
description_en TEXT COMMENT '分类描述-英文',
image VARCHAR(512) COMMENT '分类封面图',
sort_order INT DEFAULT 0 COMMENT '排序',
is_show TINYINT DEFAULT 1 COMMENT '是否显示',
create_by BIGINT DEFAULT NULL COMMENT '创建人用户IDf_admin_user.id',
update_by BIGINT DEFAULT NULL COMMENT '更新人用户IDf_admin_user.id',
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
remark VARCHAR(512) DEFAULT NULL COMMENT '备注',
del_flag CHAR(1) NOT NULL DEFAULT '0' COMMENT '删除标志0正常 2已删除',
INDEX idx_site_code(site_code),
INDEX idx_type(type),
INDEX idx_sort(sort_order),
INDEX idx_site_del(site_code, del_flag)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='案例分类';
-- 初始化案例分类
INSERT INTO f_case_category (site_code, name_zh, name_en, code, type, sort_order) VALUES
('cg', '全屋定制案例', 'Whole House Custom', 'whole-house', 'space', 1),
('cg', '客厅空间', 'Living Room', 'living-room', 'space', 2),
('cg', '卧室空间', 'Bedroom', 'bedroom', 'space', 3),
('cg', '餐厅空间', 'Dining Room', 'dining-room', 'space', 4),
('cg', '办公空间', 'Office Space', 'office', 'space', 5),
('cg', '酒店工程', 'Hotel Projects', 'hotel', 'space', 6),
('cg', '精装房工程', 'Apartment Projects', 'apartment', 'space', 7);
-- ============================================================
-- 6. 案例信息
-- ============================================================
CREATE TABLE f_case (
id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
site_code VARCHAR(32) NOT NULL DEFAULT 'cg' COMMENT '站点代码',
-- 分类
category_id BIGINT NOT NULL COMMENT '主分类ID',
category_ids_json JSON COMMENT '多分类关联JSON数组',
-- 基本信息
title_zh VARCHAR(256) NOT NULL COMMENT '案例标题-中文',
title_en VARCHAR(256) COMMENT '案例标题-英文',
subtitle_zh VARCHAR(512) COMMENT '副标题-中文',
subtitle_en VARCHAR(512) COMMENT '副标题-英文',
-- 封面与相册
cover_image VARCHAR(512) COMMENT '封面图URL',
images_json JSON COMMENT '案例图片数组(轮播展示)',
-- 项目信息
project_type_zh VARCHAR(128) COMMENT '项目类型-中文',
project_type_en VARCHAR(128) COMMENT '项目类型-英文',
project_area VARCHAR(64) COMMENT '项目面积120㎡',
project_location_zh VARCHAR(256) COMMENT '项目地点-中文',
project_location_en VARCHAR(256) COMMENT '项目地点-英文',
project_date VARCHAR(64) COMMENT '完工日期',
-- 案例描述
summary_zh VARCHAR(1024) COMMENT '案例简介-中文',
summary_en VARCHAR(1024) COMMENT '案例简介-英文',
content_zh TEXT COMMENT '详细内容-中文',
content_en TEXT COMMENT '详细内容-英文',
-- 使用产品关联产品ID
related_products_json JSON COMMENT '关联产品ID数组',
-- 标签
tags_zh VARCHAR(512) COMMENT '标签-中文',
tags_en VARCHAR(512) COMMENT '标签-英文',
-- 状态
is_hot TINYINT DEFAULT 0 COMMENT '是否热门',
is_recommend TINYINT DEFAULT 0 COMMENT '是否推荐',
status TINYINT DEFAULT 1 COMMENT '状态: 0下架 1上架',
sort_order INT DEFAULT 0 COMMENT '排序',
view_count INT DEFAULT 0 COMMENT '浏览次数',
-- SEO
seo_title_zh VARCHAR(128),
seo_title_en VARCHAR(128),
seo_keywords_zh VARCHAR(512),
seo_keywords_en VARCHAR(512),
seo_description_zh VARCHAR(1024),
seo_description_en VARCHAR(1024),
create_by BIGINT DEFAULT NULL COMMENT '创建人用户IDf_admin_user.id',
update_by BIGINT DEFAULT NULL COMMENT '更新人用户IDf_admin_user.id',
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
remark VARCHAR(512) DEFAULT NULL COMMENT '备注',
del_flag CHAR(1) NOT NULL DEFAULT '0' COMMENT '删除标志0正常 2已删除',
INDEX idx_site_category(site_code, category_id),
INDEX idx_status(status),
INDEX idx_recommend(is_recommend),
INDEX idx_sort(sort_order),
INDEX idx_site_del(site_code, del_flag)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='案例信息';
-- ============================================================
-- 7. 新闻分类
-- ============================================================
CREATE TABLE f_news_category (
id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
site_code VARCHAR(32) NOT NULL DEFAULT 'cg' COMMENT '站点代码',
name_zh VARCHAR(128) NOT NULL COMMENT '分类名称-中文',
name_en VARCHAR(128) COMMENT '分类名称-英文',
code VARCHAR(64) COMMENT '分类代码',
description_zh TEXT COMMENT '分类描述-中文',
description_en TEXT COMMENT '分类描述-英文',
sort_order INT DEFAULT 0 COMMENT '排序',
is_show TINYINT DEFAULT 1 COMMENT '是否显示',
create_by BIGINT DEFAULT NULL COMMENT '创建人用户IDf_admin_user.id',
update_by BIGINT DEFAULT NULL COMMENT '更新人用户IDf_admin_user.id',
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
remark VARCHAR(512) DEFAULT NULL COMMENT '备注',
del_flag CHAR(1) NOT NULL DEFAULT '0' COMMENT '删除标志0正常 2已删除',
INDEX idx_site_code(site_code),
INDEX idx_sort(sort_order),
INDEX idx_site_del(site_code, del_flag)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='新闻分类';
-- 初始化新闻分类
INSERT INTO f_news_category (site_code, name_zh, name_en, code, sort_order) VALUES
('cg', '公司新闻', 'Company News', 'company', 1),
('cg', '行业动态', 'Industry News', 'industry', 2),
('cg', '品牌活动', 'Brand Events', 'events', 3),
('cg', '招商加盟', 'Franchise Info', 'franchise', 4);
-- ============================================================
-- 8. 新闻资讯
-- ============================================================
CREATE TABLE f_news (
id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
site_code VARCHAR(32) NOT NULL DEFAULT 'cg' COMMENT '站点代码',
category_id BIGINT NOT NULL COMMENT '分类ID',
title_zh VARCHAR(256) NOT NULL COMMENT '新闻标题-中文',
title_en VARCHAR(256) COMMENT '新闻标题-英文',
cover_image VARCHAR(512) COMMENT '封面图URL',
summary_zh VARCHAR(1024) COMMENT '摘要-中文',
summary_en VARCHAR(1024) COMMENT '摘要-英文',
content_zh LONGTEXT COMMENT '正文内容-中文',
content_en LONGTEXT COMMENT '正文内容-英文',
-- 来源作者
author VARCHAR(128) COMMENT '作者',
source VARCHAR(256) COMMENT '来源',
source_url VARCHAR(512) COMMENT '来源链接',
-- 状态控制
is_top TINYINT DEFAULT 0 COMMENT '是否置顶',
is_hot TINYINT DEFAULT 0 COMMENT '是否热门',
status TINYINT DEFAULT 1 COMMENT '状态: 0草稿 1已发布 2下线',
publish_time TIMESTAMP NULL COMMENT '发布时间',
sort_order INT DEFAULT 0 COMMENT '排序',
view_count INT DEFAULT 0 COMMENT '浏览次数',
-- SEO
seo_title_zh VARCHAR(128),
seo_title_en VARCHAR(128),
seo_keywords_zh VARCHAR(512),
seo_keywords_en VARCHAR(512),
seo_description_zh VARCHAR(1024),
seo_description_en VARCHAR(1024),
create_by BIGINT DEFAULT NULL COMMENT '创建人用户IDf_admin_user.id',
update_by BIGINT DEFAULT NULL COMMENT '更新人用户IDf_admin_user.id',
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
remark VARCHAR(512) DEFAULT NULL COMMENT '备注',
del_flag CHAR(1) NOT NULL DEFAULT '0' COMMENT '删除标志0正常 2已删除',
INDEX idx_site_category(site_code, category_id),
INDEX idx_status(status),
INDEX idx_publish_time(publish_time),
INDEX idx_top(is_top),
INDEX idx_sort(sort_order),
INDEX idx_site_del(site_code, del_flag)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='新闻资讯';
-- ============================================================
-- 9. 页面区块配置(用于后台动态修改页面文本)
-- ============================================================
CREATE TABLE f_page_block (
id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
site_code VARCHAR(32) NOT NULL DEFAULT 'cg' COMMENT '站点代码',
-- 区块标识
page_code VARCHAR(64) NOT NULL COMMENT '页面代码: home, about, products, cases, contact',
block_code VARCHAR(128) NOT NULL COMMENT '区块代码(唯一标识)',
block_name_zh VARCHAR(128) COMMENT '区块名称-中文(后台显示用)',
block_name_en VARCHAR(128) COMMENT '区块名称-英文',
-- 区块类型
type VARCHAR(32) NOT NULL COMMENT '类型: text(纯文本) / rich(富文本) / image(图片) / images(多图) / list(列表) / html(原始HTML)',
-- 内容(中英文)
content_zh TEXT COMMENT '内容-中文',
content_en TEXT COMMENT '内容-英文',
-- 图片
image VARCHAR(512) COMMENT '图片URL单图类型',
images_json JSON COMMENT '多图数组',
-- 链接
link_url VARCHAR(512) COMMENT '跳转链接',
link_text_zh VARCHAR(128) COMMENT '链接文字-中文',
link_text_en VARCHAR(128) COMMENT '链接文字-英文',
-- 样式配置JSON
style_config_json JSON COMMENT '样式配置: {bgColor, textColor, padding, className等}',
-- 显示控制
sort_order INT DEFAULT 0 COMMENT '同页面内排序',
is_show TINYINT DEFAULT 1 COMMENT '是否显示',
create_by BIGINT DEFAULT NULL COMMENT '创建人用户IDf_admin_user.id',
update_by BIGINT DEFAULT NULL COMMENT '更新人用户IDf_admin_user.id',
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
remark VARCHAR(512) DEFAULT NULL COMMENT '备注',
del_flag CHAR(1) NOT NULL DEFAULT '0' COMMENT '删除标志0正常 2已删除',
-- 业务约束site_code + page_code + block_code 在未删除数据中唯一,由应用或触发器校验
KEY idx_site_page_block_code (site_code, page_code, block_code),
INDEX idx_site_page(site_code, page_code),
INDEX idx_sort(sort_order),
INDEX idx_site_del(site_code, del_flag)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='页面区块配置';
-- 初始化首页区块
INSERT INTO f_page_block (site_code, page_code, block_code, block_name_zh, type, content_zh, content_en, is_show, sort_order) VALUES
('cg', 'home', 'hero_title', '首屏大标题', 'text', '全屋定制 匠心之作', 'Whole House Customization', 1, 1),
('cg', 'home', 'hero_subtitle', '首屏副标题', 'text', '专注高端家具定制,为品质生活而生', 'Focused on Premium Furniture for Quality Living', 1, 2),
('cg', 'home', 'services_title', '服务板块标题', 'text', '核心业务', 'Core Business', 1, 10),
('cg', 'home', 'services_subtitle', '服务板块副标题', 'text', '三大业务板块,全方位满足您的需求', 'Three Core Services to Meet Your Needs', 1, 11),
('cg', 'home', 'products_title', '产品板块标题', 'text', '热门产品', 'Hot Products', 1, 20),
('cg', 'home', 'cases_title', '案例板块标题', 'text', '经典案例', 'Classic Cases', 1, 30),
('cg', 'home', 'strength_title', '实力板块标题', 'text', '品牌实力', 'Brand Strength', 1, 40),
('cg', 'home', 'strength_data', '实力数据JSON数组', 'list', '[{"number":"20+","label":"年行业经验"},{"number":"50000+","label":"㎡生产基地"},{"number":"1000+","label":"家服务客户"},{"number":"50+","label":"项国家专利"}]', '[{"number":"20+","label":"Years Experience"},{"number":"50000+","label":"㎡ Factory"},{"number":"1000+","label":"Clients"},{"number":"50+","label":"Patents"}]', 1, 41);
-- ============================================================
-- 10. 品牌实力/荣誉资质
-- ============================================================
CREATE TABLE f_honor (
id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
site_code VARCHAR(32) NOT NULL DEFAULT 'cg' COMMENT '站点代码',
title_zh VARCHAR(256) NOT NULL COMMENT '荣誉名称-中文',
title_en VARCHAR(256) COMMENT '荣誉名称-英文',
-- 荣誉类型
type VARCHAR(64) COMMENT '类型: certificate(资质证书) / award(获奖) / patent(专利) / partner(合作伙伴)',
image VARCHAR(512) COMMENT '证书/荣誉图片',
issue_org_zh VARCHAR(256) COMMENT '颁发机构-中文',
issue_org_en VARCHAR(256) COMMENT '颁发机构-英文',
issue_date VARCHAR(64) COMMENT '颁发日期',
description_zh TEXT COMMENT '描述-中文',
description_en TEXT COMMENT '描述-英文',
sort_order INT DEFAULT 0 COMMENT '排序',
is_show TINYINT DEFAULT 1 COMMENT '是否显示',
create_by BIGINT DEFAULT NULL COMMENT '创建人用户IDf_admin_user.id',
update_by BIGINT DEFAULT NULL COMMENT '更新人用户IDf_admin_user.id',
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
remark VARCHAR(512) DEFAULT NULL COMMENT '备注',
del_flag CHAR(1) NOT NULL DEFAULT '0' COMMENT '删除标志0正常 2已删除',
INDEX idx_site_type(site_code, type),
INDEX idx_sort(sort_order),
INDEX idx_site_del(site_code, del_flag)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='品牌荣誉资质';
-- ============================================================
-- 11. 招商加盟/留言表单
-- ============================================================
CREATE TABLE f_franchise_policy (
id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
site_code VARCHAR(32) NOT NULL DEFAULT 'cg' COMMENT '站点代码',
title_zh VARCHAR(256) NOT NULL COMMENT '政策标题-中文',
title_en VARCHAR(256) COMMENT '政策标题-英文',
icon VARCHAR(128) COMMENT '图标类名',
content_zh TEXT COMMENT '政策内容-中文',
content_en TEXT COMMENT '政策内容-英文',
sort_order INT DEFAULT 0,
is_show TINYINT DEFAULT 1,
create_by BIGINT DEFAULT NULL COMMENT '创建人用户IDf_admin_user.id',
update_by BIGINT DEFAULT NULL COMMENT '更新人用户IDf_admin_user.id',
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
remark VARCHAR(512) DEFAULT NULL COMMENT '备注',
del_flag CHAR(1) NOT NULL DEFAULT '0' COMMENT '删除标志0正常 2已删除',
INDEX idx_site_code(site_code),
INDEX idx_sort(sort_order),
INDEX idx_site_del(site_code, del_flag)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='加盟政策';
-- 初始化加盟政策
INSERT INTO f_franchise_policy (site_code, title_zh, title_en, icon, content_zh, content_en, sort_order) VALUES
('cg', '品牌支持', 'Brand Support', 'icon-brand', '提供统一品牌形象、VI系统、店面设计方案', 'Provide unified brand image, VI system, store design', 1),
('cg', '培训支持', 'Training Support', 'icon-training', '产品知识、销售技巧、安装服务全流程培训', 'Product knowledge, sales skills, installation training', 2),
('cg', '营销支持', 'Marketing Support', 'icon-marketing', '活动策划、推广物料、线上引流全方位支持', 'Event planning, promotional materials, online marketing', 3),
('cg', '区域保护', 'Territory Protection', 'icon-protection', '严格的区域保护政策,保障经销商利益', 'Strict territorial protection for dealers', 4);
-- ============================================================
-- 12. 在线留言/联系表单
-- ============================================================
CREATE TABLE f_contact_message (
id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
site_code VARCHAR(32) NOT NULL DEFAULT 'cg' COMMENT '站点代码',
-- 联系人类型
type VARCHAR(64) COMMENT '类型: join(加盟咨询) / cooperate(工程合作) / feedback(客户反馈) / other(其他)',
-- 联系人信息
name VARCHAR(128) NOT NULL COMMENT '姓名',
phone VARCHAR(32) COMMENT '电话',
email VARCHAR(128) COMMENT '邮箱',
company VARCHAR(256) COMMENT '公司名称',
address VARCHAR(512) COMMENT '地址',
-- 留言内容
subject VARCHAR(256) COMMENT '主题',
message TEXT COMMENT '留言内容',
-- 处理状态
status TINYINT DEFAULT 0 COMMENT '状态: 0待处理 1处理中 2已回复 3已关闭',
reply_content TEXT COMMENT '回复内容',
reply_time TIMESTAMP NULL COMMENT '回复时间',
handled_by VARCHAR(128) COMMENT '处理人',
-- 来源
source_ip VARCHAR(64) COMMENT 'IP地址',
source_page VARCHAR(512) COMMENT '来源页面',
create_by BIGINT DEFAULT NULL COMMENT '创建人用户ID含后台代录场景访客留言通常为 NULL',
update_by BIGINT DEFAULT NULL COMMENT '更新人用户IDf_admin_user.id',
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
remark VARCHAR(512) DEFAULT NULL COMMENT '备注(内部处理备注等)',
del_flag CHAR(1) NOT NULL DEFAULT '0' COMMENT '删除标志0正常 2已删除',
INDEX idx_site_type(site_code, type),
INDEX idx_status(status),
INDEX idx_site_del(site_code, del_flag),
INDEX idx_create_time(create_time)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='在线留言表单';
-- ============================================================
-- 13. 文件/媒体库MinIO文件管理
-- ============================================================
CREATE TABLE f_media_library (
id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
site_code VARCHAR(32) NOT NULL DEFAULT 'cg' COMMENT '站点代码',
-- 文件信息
file_name VARCHAR(256) NOT NULL COMMENT '原始文件名',
file_type VARCHAR(64) COMMENT '文件类型: image/video/document',
mime_type VARCHAR(128) COMMENT 'MIME类型',
file_size BIGINT COMMENT '文件大小(字节)',
-- 存储路径
storage_type VARCHAR(32) DEFAULT 'minio' COMMENT '存储类型: local/minio',
file_path VARCHAR(512) NOT NULL COMMENT '存储路径相对于bucket或upload目录',
full_url VARCHAR(512) COMMENT '完整访问URL',
-- MinIO特有
bucket_name VARCHAR(128) COMMENT 'MinIO bucket名称',
object_key VARCHAR(512) COMMENT 'MinIO object key',
etag VARCHAR(256) COMMENT 'MinIO ETag',
-- 图片特有
width INT COMMENT '图片宽度',
height INT COMMENT '图片高度',
thumb_path VARCHAR(512) COMMENT '缩略图路径',
-- 使用信息
used_in VARCHAR(256) COMMENT '使用位置: carousel/product/case/news/page',
used_count INT DEFAULT 0 COMMENT '引用次数',
-- 上传信息
uploaded_by VARCHAR(128) COMMENT '上传人',
create_by BIGINT DEFAULT NULL COMMENT '创建人用户IDf_admin_user.id',
update_by BIGINT DEFAULT NULL COMMENT '更新人用户IDf_admin_user.id',
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
remark VARCHAR(512) DEFAULT NULL COMMENT '备注',
del_flag CHAR(1) NOT NULL DEFAULT '0' COMMENT '删除标志0正常 2已删除',
INDEX idx_site_type(site_code, file_type),
INDEX idx_used_in(used_in),
INDEX idx_create_time(create_time),
INDEX idx_site_del(site_code, del_flag)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='媒体库文件管理';
-- ============================================================
-- 14. 管理员账号Sa-Token
-- ============================================================
CREATE TABLE f_admin_user (
id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
site_code VARCHAR(32) NOT NULL DEFAULT 'cg' COMMENT '站点代码',
username VARCHAR(64) NOT NULL COMMENT '用户名',
password VARCHAR(256) NOT NULL COMMENT '加密密码',
nickname VARCHAR(128) COMMENT '昵称',
avatar VARCHAR(512) COMMENT '头像',
email VARCHAR(128) COMMENT '邮箱',
phone VARCHAR(32) COMMENT '电话',
-- 角色权限
role VARCHAR(64) DEFAULT 'editor' COMMENT '角色: super_admin/admin/editor',
permissions_json JSON COMMENT '权限列表JSON',
-- 状态
status TINYINT DEFAULT 1 COMMENT '状态: 0禁用 1启用',
last_login_time TIMESTAMP NULL COMMENT '最后登录时间',
last_login_ip VARCHAR(64) COMMENT '最后登录IP',
create_by BIGINT DEFAULT NULL COMMENT '创建人用户ID自建账号或上级管理员ID',
update_by BIGINT DEFAULT NULL COMMENT '更新人用户IDf_admin_user.id',
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
remark VARCHAR(512) DEFAULT NULL COMMENT '备注',
del_flag CHAR(1) NOT NULL DEFAULT '0' COMMENT '删除标志0正常 2已删除',
UNIQUE KEY uk_username(username),
INDEX idx_site_code(site_code),
INDEX idx_status(status),
INDEX idx_site_del(site_code, del_flag)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='管理员账号';
-- 初始化超级管理员(密码: admin123实际使用需 bcrypt 加密)
-- 注意:实际部署时请更换密码并重新加密
INSERT INTO f_admin_user (site_code, username, password, nickname, role, status)
VALUES ('cg', 'admin', '$2a$10$N.zmdr9k7uOCQb376NoUnuTJ8iAt6Z5EHsM8lE9lBOsl7iAt6Z5EO', '超级管理员', 'super_admin', 1);
-- ============================================================
-- 15. 操作日志
-- ============================================================
CREATE TABLE f_operation_log (
id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
site_code VARCHAR(32) NOT NULL DEFAULT 'cg',
user_id BIGINT COMMENT '操作用户ID',
username VARCHAR(64) COMMENT '操作用户名',
operation VARCHAR(128) COMMENT '操作类型: CREATE/UPDATE/DELETE/LOGIN/LOGOUT',
module VARCHAR(64) COMMENT '操作模块: product/case/news/page/media/user',
description TEXT COMMENT '操作描述',
request_method VARCHAR(16) COMMENT '请求方法: GET/POST/PUT/DELETE',
request_url VARCHAR(512) COMMENT '请求URL',
request_params TEXT COMMENT '请求参数',
response_data TEXT COMMENT '响应数据',
ip_address VARCHAR(64) COMMENT 'IP地址',
user_agent VARCHAR(512) COMMENT 'User-Agent',
execution_time INT COMMENT '执行时长(毫秒)',
status TINYINT COMMENT '状态: 0失败 1成功',
error_msg TEXT COMMENT '错误信息',
create_by BIGINT DEFAULT NULL COMMENT '等价于操作人账号ID冗余可与 user_id 对齐维护)',
update_by BIGINT DEFAULT NULL COMMENT '更新人(日志一般不改,占用字段仅占位以保持表结构一致)',
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
remark VARCHAR(512) DEFAULT NULL COMMENT '备注',
del_flag CHAR(1) NOT NULL DEFAULT '0' COMMENT '删除标志0正常 2已删除归档用',
INDEX idx_site_user(site_code, user_id),
INDEX idx_module(module),
INDEX idx_operation(operation),
INDEX idx_create_time(create_time),
INDEX idx_site_del(site_code, del_flag)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='操作日志';
-- ============================================================
-- 数据库初始化完成
-- ============================================================