216 lines
12 KiB
SQL
216 lines
12 KiB
SQL
-- 用户主表(共用属性)
|
||
DROP TABLE IF EXISTS `sys_user`;
|
||
CREATE TABLE `sys_user` (
|
||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户id',
|
||
`username` varchar(30) NOT NULL COMMENT '账号',
|
||
`password` varchar(100) DEFAULT '' COMMENT '密码',
|
||
`nickname` varchar(30) NOT NULL COMMENT '昵称',
|
||
`avatar` varchar(100) DEFAULT '' COMMENT '头像地址',
|
||
`status` int DEFAULT 0 COMMENT '状态(0正常 1停用 2待审核)',
|
||
`role` varchar(10) NOT NULL COMMENT '角色(1超级管理员 2普通用户)',
|
||
`creator` bigint DEFAULT NULL COMMENT '创建者id',
|
||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||
`updater` bigint DEFAULT NULL COMMENT '更新者id',
|
||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||
`deleted` tinyint DEFAULT 0 COMMENT '删除标识(0未删 1已删)',
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `idx_sys_user_username` (`username`)
|
||
) COMMENT='用户主表';
|
||
-- 超级管理员 admin 密码:123456
|
||
INSERT INTO `sys_user` (`username`, `password`, `nickname`, `avatar`, `status`, `role`, `creator`, `create_time`, `updater`, `update_time`, `remark`, `deleted`)
|
||
VALUES ('admin', '$2a$10$sSTvaDj1QtrEIgEglkumguRT88m0WRs61gWw7Rgm/gpP6/eZ4ffwG', '超级管理员', '', 0, '1', NULL, NOW(), NULL, NOW(), '系统默认超级管理员', 0);
|
||
|
||
-- 普通用户(游客)
|
||
DROP TABLE IF EXISTS `tourist`;
|
||
CREATE TABLE `tourist` (
|
||
`id` bigint NOT NULL COMMENT '用户id(与sys_user.id一致)',
|
||
`real_name` varchar(30) DEFAULT NULL COMMENT '真实姓名',
|
||
`id_card` varchar(18) DEFAULT NULL COMMENT '身份证号',
|
||
`phone` varchar(11) DEFAULT NULL COMMENT '手机号',
|
||
`email` varchar(50) DEFAULT NULL COMMENT '邮箱',
|
||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `idx_sys_user_normal_phone` (`phone`),
|
||
UNIQUE KEY `idx_sys_user_normal_email` (`email`)
|
||
) COMMENT='普通用户子表'
|
||
|
||
-- 轮播图表
|
||
DROP TABLE IF EXISTS `carousel`;
|
||
CREATE TABLE `carousel` (
|
||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '轮播图id',
|
||
`title` varchar(50) NOT NULL COMMENT '标题',
|
||
`image_url` varchar(255) NOT NULL COMMENT '图片地址',
|
||
`link` varchar(255) DEFAULT NULL COMMENT '跳转链接',
|
||
`sort` int DEFAULT 0 COMMENT '排序序号',
|
||
`status` tinyint DEFAULT 1 COMMENT '状态(0隐藏 1显示)',
|
||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
PRIMARY KEY (`id`),
|
||
KEY `idx_carousel_status` (`status`)
|
||
) COMMENT='轮播图';
|
||
|
||
-- 博物馆简介表
|
||
DROP TABLE IF EXISTS `museum_intro`;
|
||
CREATE TABLE `museum_intro` (
|
||
`museum_name` varchar(100) NOT NULL COMMENT '博物馆名称(主键)',
|
||
`content` text NOT NULL COMMENT '内容',
|
||
`logo_url` varchar(255) DEFAULT NULL COMMENT 'Logo地址',
|
||
`address` varchar(100) DEFAULT NULL COMMENT '地址',
|
||
`phone` varchar(20) DEFAULT NULL COMMENT '联系电话',
|
||
`open_time` time DEFAULT NULL COMMENT '营业开始时间',
|
||
`close_time` time DEFAULT NULL COMMENT '营业结束时间',
|
||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
`updater` bigint DEFAULT NULL COMMENT '更新者id',
|
||
PRIMARY KEY (`museum_name`)
|
||
) COMMENT='博物馆简介';
|
||
INSERT INTO `museum_intro` (
|
||
`museum_name`,
|
||
`content`,
|
||
`logo_url`,
|
||
`address`,
|
||
`phone`,
|
||
`open_time`,
|
||
`close_time`,
|
||
`update_time`,
|
||
`updater`
|
||
) VALUES (
|
||
'邺城博物馆',
|
||
'邺城博物馆位于河北省邺城遗址保护区,致力于系统展示东魏、北齐时期的城市文明与考古成果。馆内设基本陈列、专题展厅与数字互动空间,重点呈现佛教造像、石刻艺术、陶瓷器与城址考古发掘成果,并提供文物保护科普、研学课程与公众教育服务。',
|
||
'/api/files/get?fileName=museum/logo/yecity.png',
|
||
'河北省临漳县邺城遗址博物馆',
|
||
'0310-8888888',
|
||
'09:00:00',
|
||
'17:30:00',
|
||
NOW(),
|
||
1
|
||
);
|
||
|
||
-- 藏品分类表
|
||
DROP TABLE IF EXISTS `item_category`;
|
||
CREATE TABLE `item_category` (
|
||
`id` bigint NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT '分类ID',
|
||
`name` varchar(50) NOT NULL COMMENT '分类名称',
|
||
`creator` bigint NULL COMMENT '创建者',
|
||
`create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`updater` bigint NULL COMMENT '更新者',
|
||
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
|
||
`remark` varchar(500) NULL COMMENT '备注'
|
||
) COMMENT = '藏品分类';
|
||
|
||
|
||
-- 藏品主表
|
||
DROP TABLE IF EXISTS `relic`;
|
||
CREATE TABLE `relic` (
|
||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '藏品id',
|
||
`name` varchar(100) NOT NULL COMMENT '名称',
|
||
`category_id` bigint NOT NULL COMMENT '分类ID',
|
||
`cover_image_url` varchar(255) NOT NULL COMMENT '封面图地址',
|
||
`age` varchar(50) DEFAULT NULL COMMENT '年代',
|
||
`material` varchar(50) DEFAULT NULL COMMENT '材质',
|
||
`excavation_info` text DEFAULT NULL COMMENT '出土信息',
|
||
`story` text DEFAULT NULL COMMENT '文物故事',
|
||
`model_url` text DEFAULT NULL COMMENT '3D/360°图地址',
|
||
`is_hot` tinyint DEFAULT 0 COMMENT '热门标识(0否 1是)',
|
||
`status` tinyint DEFAULT 1 COMMENT '状态(0隐藏 1显示)',
|
||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`creator` bigint DEFAULT NULL COMMENT '创建者id',
|
||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
`updater` bigint DEFAULT NULL COMMENT '更新者id',
|
||
PRIMARY KEY (`id`)
|
||
) COMMENT = '藏品';
|
||
|
||
-- 测试数据:邺城博物馆热门/普通藏品(15条)
|
||
INSERT INTO `relic` (`name`, `category_id`, `cover_image_url`, `age`, `material`, `excavation_info`, `story`, `model_url`, `is_hot`, `status`, `create_time`, `creator`, `update_time`, `updater`) VALUES
|
||
('北齐石刻佛像', 1, '/api/files/get?fileName=relicCover/bei_qi_shike_foxiang.jpg', '北齐', '石质', '邺城遗址石窟区出土', '北齐时期石刻造像,线条劲挺,面相安详。', NULL, 1, 1, NOW(), 1, NOW(), 1),
|
||
('东魏青釉瓷碗', 2, '/api/files/get?fileName=relicCover/dong_wei_qingyou_ciwang.jpg', '东魏', '陶瓷', '邺城城址文化层出土', '胎质细腻,通体青釉,器形规整。', NULL, 1, 1, NOW(), 1, NOW(), 1),
|
||
('北齐石柱础', 1, '/api/files/get?fileName=relicCover/bei_qi_zhuchu.jpg', '北齐', '石质', '邺城宫殿区基址出土', '柱础覆莲纹,雕刻工整,体现工艺水准。', NULL, 0, 1, NOW(), 1, NOW(), 1),
|
||
('东魏鎏金饰片', 3, '/api/files/get?fileName=relicCover/dong_wei_liujin_shipian.jpg', '东魏', '金属', '邺城遗址手工业作坊出土', '鎏金工艺精湛,纹饰细密。', NULL, 1, 1, NOW(), 1, NOW(), 1),
|
||
('北齐陶俑', 2, '/api/files/get?fileName=relicCover/bei_qi_taoyong.jpg', '北齐', '陶', '邺城墓葬出土', '俑身比例匀称,服饰简洁,表情生动。', NULL, 0, 1, NOW(), 1, NOW(), 1),
|
||
('邺城瓦当', 4, '/api/files/get?fileName=relicCover/yecity_wadang.jpg', '北齐', '陶', '邺城宫殿区瓦件堆积出土', '瓦当纹饰清晰,常见卷云与莲纹。', NULL, 1, 1, NOW(), 1, NOW(), 1),
|
||
('邺城石刻残片', 1, '/api/files/get?fileName=relicCover/yecity_shike_canpian.jpg', '北齐', '石质', '邺城寺院区出土', '残片可见线刻与浅浮雕技法。', NULL, 0, 1, NOW(), 1, NOW(), 1),
|
||
('北齐碑刻', 1, '/api/files/get?fileName=relicCover/bei_qi_beike.jpg', '北齐', '石质', '邺城遗址碑廓出土', '字迹峻拔,为研究书法与历史提供资料。', NULL, 1, 1, NOW(), 1, NOW(), 1),
|
||
('邺城铜镜', 3, '/api/files/get?fileName=relicCover/yecity_tongjing.jpg', '北齐', '青铜', '邺城民居遗址出土', '背纹精美,折射古代生活审美。', NULL, 0, 1, NOW(), 1, NOW(), 1),
|
||
('邺城陶灯', 2, '/api/files/get?fileName=relicCover/yecity_taodeng.jpg', '东魏', '陶', '邺城手工业区出土', '造型朴素,实用性强。', NULL, 0, 1, NOW(), 1, NOW(), 1),
|
||
('邺城青铜器', 3, '/api/files/get?fileName=relicCover/yecity_qingtongqi.jpg', '北齐', '青铜', '邺城祭祀遗址出土', '铸造规整,纹饰典雅。', NULL, 1, 1, NOW(), 1, NOW(), 1),
|
||
('石雕护法像', 1, '/api/files/get?fileName=relicCover/shidiao_hufa.jpg', '北齐', '石质', '邺城寺院区出土', '表情威严,衣纹流畅,守护佛法之象。', NULL, 1, 1, NOW(), 1, NOW(), 1),
|
||
('鎏金佛像', 3, '/api/files/get?fileName=relicCover/liujin_foxiang.jpg', '北齐', '金属', '邺城佛教遗迹出土', '通体鎏金,庄严华美。', NULL, 1, 1, NOW(), 1, NOW(), 1),
|
||
('邺城瓷瓶', 2, '/api/files/get?fileName=relicCover/yecity_ciping.jpg', '东魏', '陶瓷', '邺城城址出土', '瓶身修长,青釉匀净。', NULL, 0, 1, NOW(), 1, NOW(), 1),
|
||
('石经残卷', 1, '/api/files/get?fileName=relicCover/shijing_canjuan.jpg', '北齐', '石质', '邺城经藏区出土', '石经残刻,见证佛教经典传播。', NULL, 0, 1, NOW(), 1, NOW(), 1);
|
||
|
||
-- 公告表
|
||
DROP TABLE IF EXISTS `announcement`;
|
||
CREATE TABLE `announcement` (
|
||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '公告id',
|
||
`title` varchar(100) NOT NULL COMMENT '标题',
|
||
`content` text NOT NULL COMMENT '内容',
|
||
`is_top` tinyint DEFAULT 0 COMMENT '置顶标识(0否 1是)',
|
||
`status` tinyint DEFAULT 1 COMMENT '状态(0隐藏 1显示)',
|
||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '发布时间',
|
||
`creator` bigint DEFAULT NULL COMMENT '发布者id',
|
||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
`updater` bigint DEFAULT NULL COMMENT '更新者id',
|
||
PRIMARY KEY (`id`)
|
||
) COMMENT='公告';
|
||
|
||
-- 预约时段表
|
||
DROP TABLE IF EXISTS `reservation_time_slot`;
|
||
CREATE TABLE `reservation_time_slot` (
|
||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '时段id',
|
||
`date` date NOT NULL COMMENT '预约日期',
|
||
`start_time` time NOT NULL COMMENT '开始时间',
|
||
`end_time` time NOT NULL COMMENT '结束时间',
|
||
`max_people` int NOT NULL COMMENT '最大人数',
|
||
`current_people` int DEFAULT 0 COMMENT '已预约人数',
|
||
`status` tinyint DEFAULT 1 COMMENT '状态(0不可约 1可约)',
|
||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
`creator` bigint DEFAULT NULL COMMENT '创建者id',
|
||
PRIMARY KEY (`id`)
|
||
) COMMENT='预约时段';
|
||
|
||
-- 预约记录表
|
||
DROP TABLE IF EXISTS `reservation`;
|
||
CREATE TABLE `reservation` (
|
||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '预约id(主表ID)',
|
||
`user_id` bigint NOT NULL COMMENT '预约发起者id(关联sys_user.id)',
|
||
`time_slot_id` bigint NOT NULL COMMENT '预约时段id(关联reservation_time_slot.id)',
|
||
`total_visitors` int NOT NULL COMMENT '预约总人数(与明细表记录数一致)',
|
||
`reserve_time` time NOT NULL COMMENT '预约时间',
|
||
`qr_code` varchar(255) DEFAULT NULL COMMENT '预约凭证二维码(整单唯一)',
|
||
`status` tinyint DEFAULT 0 COMMENT '整单状态(0待审核 1已通过 2已取消 3已驳回)',
|
||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '预约提交时间',
|
||
`update_time` datetime DEFAULT NULL COMMENT '审核/更新时间',
|
||
`updater` bigint DEFAULT NULL COMMENT '审核者id(关联sys_user.id)',
|
||
`remark` varchar(500) DEFAULT NULL COMMENT '审核备注(如驳回原因)',
|
||
PRIMARY KEY (`id`),
|
||
KEY `idx_user_id` (`user_id`),
|
||
KEY `idx_time_slot_id` (`time_slot_id`),
|
||
KEY `idx_status` (`status`)
|
||
) COMMENT='预约';
|
||
|
||
-- 预约明细表
|
||
DROP TABLE IF EXISTS `reservation_visitor`;
|
||
CREATE TABLE `reservation_visitor` (
|
||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '明细ID',
|
||
`reservation_id` bigint NOT NULL COMMENT '预约id',
|
||
`real_name` varchar(30) NOT NULL COMMENT '游客真实姓名',
|
||
`id_card` varchar(18) NOT NULL COMMENT '游客身份证号(唯一标识游客)',
|
||
`phone` varchar(11) NOT NULL COMMENT '游客手机号',
|
||
`visitor_qr_code` varchar(500) DEFAULT NULL COMMENT '游客个人入场二维码(可选,如分人验证)',
|
||
`verify_status` tinyint DEFAULT 0 COMMENT '游客入场验证状态(0未验证 1已验证)',
|
||
`verify_time` datetime DEFAULT NULL COMMENT '入场验证时间',
|
||
PRIMARY KEY (`id`),
|
||
KEY `idx_reservation_id` (`reservation_id`),
|
||
KEY `idx_id_card` (`id_card`)
|
||
) COMMENT='游客预约明细';
|
||
|
||
-- 收藏表
|
||
DROP TABLE IF EXISTS `item_collection`;
|
||
CREATE TABLE `item_collection` (
|
||
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '收藏id',
|
||
`user_id` bigint NOT NULL COMMENT '用户id',
|
||
`item_id` bigint NOT NULL COMMENT '藏品id',
|
||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '收藏时间',
|
||
PRIMARY KEY (`id`)
|
||
) COMMENT='收藏';
|