256 lines
13 KiB
MySQL
256 lines
13 KiB
MySQL
|
-- 鄂伦春项目实体类对应的SQL建表语句
|
||
|
-- 生成时间: 2025-01-08
|
||
|
|
||
|
-- 1. 商品表
|
||
|
CREATE TABLE `oroqen_product` (
|
||
|
`id` varchar(36) NOT NULL COMMENT '主键',
|
||
|
`product_name` varchar(255) NOT NULL COMMENT '商品名称',
|
||
|
`product_code` varchar(100) DEFAULT NULL COMMENT '商品编码',
|
||
|
`category_id` varchar(36) DEFAULT NULL COMMENT '分类ID',
|
||
|
`price` decimal(10,2) DEFAULT NULL COMMENT '价格',
|
||
|
`main_image` varchar(500) DEFAULT NULL COMMENT '主图',
|
||
|
`stock` int(11) DEFAULT '0' COMMENT '库存',
|
||
|
`images` text COMMENT '商品图片(多张)',
|
||
|
`video_url` varchar(500) DEFAULT NULL COMMENT '视频链接',
|
||
|
`description` text COMMENT '商品描述',
|
||
|
`culture_story` text COMMENT '文化故事',
|
||
|
`craftsman_info` text COMMENT '工匠信息',
|
||
|
`material` varchar(255) DEFAULT NULL COMMENT '材质',
|
||
|
`specifications` varchar(255) DEFAULT NULL COMMENT '规格',
|
||
|
`weight` decimal(8,2) DEFAULT NULL COMMENT '重量(kg)',
|
||
|
`dimensions` varchar(100) DEFAULT NULL COMMENT '尺寸',
|
||
|
`tags` varchar(500) DEFAULT NULL COMMENT '标签',
|
||
|
`is_recommended` tinyint(1) DEFAULT '0' COMMENT '是否推荐(0-否,1-是)',
|
||
|
`is_hot` tinyint(1) DEFAULT '0' COMMENT '是否热销(0-否,1-是)',
|
||
|
`sales_count` int(11) DEFAULT '0' COMMENT '销量',
|
||
|
`sort_order` int(11) DEFAULT '0' COMMENT '排序',
|
||
|
`status` tinyint(1) DEFAULT '1' COMMENT '状态(0-禁用,1-启用)',
|
||
|
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
|
||
|
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
|
||
|
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
|
||
|
`update_time` datetime DEFAULT NULL COMMENT '更新日期',
|
||
|
PRIMARY KEY (`id`),
|
||
|
KEY `idx_category_id` (`category_id`),
|
||
|
KEY `idx_product_code` (`product_code`),
|
||
|
KEY `idx_status` (`status`)
|
||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品表';
|
||
|
|
||
|
-- 2. 商品分类表
|
||
|
CREATE TABLE `oroqen_product_category` (
|
||
|
`id` varchar(36) NOT NULL COMMENT '主键',
|
||
|
`category_name` varchar(100) NOT NULL COMMENT '分类名称',
|
||
|
`category_code` varchar(50) DEFAULT NULL COMMENT '分类编码',
|
||
|
`parent_id` varchar(36) DEFAULT NULL COMMENT '父级ID',
|
||
|
`sort_order` int(11) DEFAULT '0' COMMENT '排序',
|
||
|
`description` text COMMENT '描述',
|
||
|
`icon` varchar(255) DEFAULT NULL COMMENT '图标',
|
||
|
`status` tinyint(1) DEFAULT '1' COMMENT '状态(0-禁用,1-启用)',
|
||
|
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
|
||
|
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
|
||
|
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
|
||
|
`update_time` datetime DEFAULT NULL COMMENT '更新日期',
|
||
|
PRIMARY KEY (`id`),
|
||
|
KEY `idx_parent_id` (`parent_id`),
|
||
|
KEY `idx_category_code` (`category_code`),
|
||
|
KEY `idx_status` (`status`)
|
||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品分类表';
|
||
|
|
||
|
-- 3. 订单表
|
||
|
CREATE TABLE `oroqen_order` (
|
||
|
`id` varchar(36) NOT NULL COMMENT '主键',
|
||
|
`order_no` varchar(50) NOT NULL COMMENT '订单号',
|
||
|
`user_id` varchar(36) NOT NULL COMMENT '用户ID',
|
||
|
`order_status` tinyint(4) DEFAULT '1' COMMENT '订单状态(1-待付款,2-待发货,3-待收货,4-已完成,5-已取消)',
|
||
|
`total_amount` decimal(10,2) DEFAULT NULL COMMENT '商品总金额',
|
||
|
`freight_amount` decimal(10,2) DEFAULT '0.00' COMMENT '运费',
|
||
|
`discount_amount` decimal(10,2) DEFAULT '0.00' COMMENT '优惠金额',
|
||
|
`pay_amount` decimal(10,2) DEFAULT NULL COMMENT '实付金额',
|
||
|
`pay_type` tinyint(4) DEFAULT NULL COMMENT '支付方式(1-微信,2-支付宝,3-银行卡)',
|
||
|
`pay_time` datetime DEFAULT NULL COMMENT '支付时间',
|
||
|
`receiver_name` varchar(50) DEFAULT NULL COMMENT '收货人姓名',
|
||
|
`receiver_phone` varchar(20) DEFAULT NULL COMMENT '收货人电话',
|
||
|
`receiver_address` varchar(500) DEFAULT NULL COMMENT '收货地址',
|
||
|
`logistics_company` varchar(100) DEFAULT NULL COMMENT '物流公司',
|
||
|
`logistics_no` varchar(100) DEFAULT NULL COMMENT '物流单号',
|
||
|
`remark` text COMMENT '备注',
|
||
|
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
|
||
|
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
|
||
|
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
|
||
|
`update_time` datetime DEFAULT NULL COMMENT '更新日期',
|
||
|
PRIMARY KEY (`id`),
|
||
|
UNIQUE KEY `uk_order_no` (`order_no`),
|
||
|
KEY `idx_user_id` (`user_id`),
|
||
|
KEY `idx_order_status` (`order_status`),
|
||
|
KEY `idx_create_time` (`create_time`)
|
||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='订单表';
|
||
|
|
||
|
-- 4. 订单项表
|
||
|
CREATE TABLE `oroqen_order_item` (
|
||
|
`id` varchar(36) NOT NULL COMMENT '主键',
|
||
|
`order_id` varchar(36) NOT NULL COMMENT '订单ID',
|
||
|
`product_id` varchar(36) NOT NULL COMMENT '商品ID',
|
||
|
`product_name` varchar(255) DEFAULT NULL COMMENT '商品名称',
|
||
|
`product_image` varchar(500) DEFAULT NULL COMMENT '商品图片',
|
||
|
`product_price` decimal(10,2) DEFAULT NULL COMMENT '商品价格',
|
||
|
`quantity` int(11) DEFAULT '1' COMMENT '购买数量',
|
||
|
`subtotal` decimal(10,2) DEFAULT NULL COMMENT '小计金额',
|
||
|
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
|
||
|
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
|
||
|
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
|
||
|
`update_time` datetime DEFAULT NULL COMMENT '更新日期',
|
||
|
PRIMARY KEY (`id`),
|
||
|
KEY `idx_order_id` (`order_id`),
|
||
|
KEY `idx_product_id` (`product_id`)
|
||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='订单项表';
|
||
|
|
||
|
-- 5. 购物车表
|
||
|
CREATE TABLE `oroqen_cart` (
|
||
|
`id` varchar(36) NOT NULL COMMENT '主键',
|
||
|
`user_id` varchar(36) NOT NULL COMMENT '用户ID',
|
||
|
`product_id` varchar(36) NOT NULL COMMENT '商品ID',
|
||
|
`quantity` int(11) DEFAULT '1' COMMENT '数量',
|
||
|
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
|
||
|
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
|
||
|
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
|
||
|
`update_time` datetime DEFAULT NULL COMMENT '更新日期',
|
||
|
PRIMARY KEY (`id`),
|
||
|
KEY `idx_user_id` (`user_id`),
|
||
|
KEY `idx_product_id` (`product_id`),
|
||
|
UNIQUE KEY `uk_user_product` (`user_id`, `product_id`)
|
||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='购物车表';
|
||
|
|
||
|
-- 6. 非遗项目表
|
||
|
CREATE TABLE `oroqen_heritage_project` (
|
||
|
`id` varchar(36) NOT NULL COMMENT '主键',
|
||
|
`project_name` varchar(255) NOT NULL COMMENT '项目名称',
|
||
|
`project_code` varchar(100) DEFAULT NULL COMMENT '项目编码',
|
||
|
`project_category` varchar(100) DEFAULT NULL COMMENT '项目类别',
|
||
|
`heritage_level` varchar(50) DEFAULT NULL COMMENT '非遗级别',
|
||
|
`approval_year` int(11) DEFAULT NULL COMMENT '批准年份',
|
||
|
`approval_number` varchar(100) DEFAULT NULL COMMENT '批准文号',
|
||
|
`project_description` text COMMENT '项目描述',
|
||
|
`detailed_description` text COMMENT '详细描述',
|
||
|
`historical_origin` text COMMENT '历史渊源',
|
||
|
`craft_characteristics` text COMMENT '技艺特点',
|
||
|
`inheritance_value` text COMMENT '传承价值',
|
||
|
`cover_image` varchar(500) DEFAULT NULL COMMENT '封面图片',
|
||
|
`images` text COMMENT '图片集',
|
||
|
`video_url` varchar(500) DEFAULT NULL COMMENT '视频链接',
|
||
|
`audio_url` varchar(500) DEFAULT NULL COMMENT '音频链接',
|
||
|
`tags` varchar(500) DEFAULT NULL COMMENT '标签',
|
||
|
`inheritor_ids` text COMMENT '关联传承人ID',
|
||
|
`protection_unit` varchar(255) DEFAULT NULL COMMENT '保护单位',
|
||
|
`protection_measures` text COMMENT '保护措施',
|
||
|
`protection_status` varchar(100) DEFAULT NULL COMMENT '保护现状',
|
||
|
`is_recommended` tinyint(1) DEFAULT '0' COMMENT '是否推荐(0-否,1-是)',
|
||
|
`view_count` int(11) DEFAULT '0' COMMENT '浏览次数',
|
||
|
`like_count` int(11) DEFAULT '0' COMMENT '点赞次数',
|
||
|
`status` tinyint(1) DEFAULT '1' COMMENT '状态(0-禁用,1-启用)',
|
||
|
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
|
||
|
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
|
||
|
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
|
||
|
`update_time` datetime DEFAULT NULL COMMENT '更新日期',
|
||
|
PRIMARY KEY (`id`),
|
||
|
KEY `idx_project_code` (`project_code`),
|
||
|
KEY `idx_heritage_level` (`heritage_level`),
|
||
|
KEY `idx_status` (`status`)
|
||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='非遗项目表';
|
||
|
|
||
|
-- 7. 文化内容表
|
||
|
CREATE TABLE `oroqen_culture_content` (
|
||
|
`id` varchar(36) NOT NULL COMMENT '主键',
|
||
|
`title` varchar(255) NOT NULL COMMENT '标题',
|
||
|
`category_id` varchar(36) DEFAULT NULL COMMENT '分类ID',
|
||
|
`content` longtext COMMENT '内容',
|
||
|
`summary` text COMMENT '摘要',
|
||
|
`cover_image` varchar(500) DEFAULT NULL COMMENT '封面图片',
|
||
|
`images` text COMMENT '图片集',
|
||
|
`video_url` varchar(500) DEFAULT NULL COMMENT '视频链接',
|
||
|
`audio_url` varchar(500) DEFAULT NULL COMMENT '音频链接',
|
||
|
`tags` varchar(500) DEFAULT NULL COMMENT '标签',
|
||
|
`author` varchar(100) DEFAULT NULL COMMENT '作者',
|
||
|
`source` varchar(255) DEFAULT NULL COMMENT '来源',
|
||
|
`is_recommended` tinyint(1) DEFAULT '0' COMMENT '是否推荐(0-否,1-是)',
|
||
|
`view_count` int(11) DEFAULT '0' COMMENT '浏览次数',
|
||
|
`like_count` int(11) DEFAULT '0' COMMENT '点赞次数',
|
||
|
`favorite_count` int(11) DEFAULT '0' COMMENT '收藏次数',
|
||
|
`sort_order` int(11) DEFAULT '0' COMMENT '排序',
|
||
|
`status` tinyint(1) DEFAULT '1' COMMENT '状态(0-禁用,1-启用)',
|
||
|
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
|
||
|
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
|
||
|
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
|
||
|
`update_time` datetime DEFAULT NULL COMMENT '更新日期',
|
||
|
PRIMARY KEY (`id`),
|
||
|
KEY `idx_category_id` (`category_id`),
|
||
|
KEY `idx_status` (`status`),
|
||
|
KEY `idx_create_time` (`create_time`)
|
||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='文化内容表';
|
||
|
|
||
|
-- 8. 非遗传承人表
|
||
|
CREATE TABLE `oroqen_heritage_inheritor` (
|
||
|
`id` varchar(36) NOT NULL COMMENT '主键',
|
||
|
`name` varchar(100) NOT NULL COMMENT '姓名',
|
||
|
`gender` tinyint(4) DEFAULT NULL COMMENT '性别(0-女,1-男)',
|
||
|
`birth_year` int(11) DEFAULT NULL COMMENT '出生年份',
|
||
|
`hometown` varchar(255) DEFAULT NULL COMMENT '籍贯',
|
||
|
`heritage_skills` varchar(500) DEFAULT NULL COMMENT '传承技艺',
|
||
|
`heritage_level` varchar(50) DEFAULT NULL COMMENT '传承级别',
|
||
|
`avatar` varchar(500) DEFAULT NULL COMMENT '头像',
|
||
|
`biography` text COMMENT '个人简介',
|
||
|
`achievements` text COMMENT '主要成就',
|
||
|
`representative_works` text COMMENT '代表作品',
|
||
|
`work_images` text COMMENT '作品图片',
|
||
|
`contact_info` varchar(255) DEFAULT NULL COMMENT '联系方式',
|
||
|
`status` tinyint(1) DEFAULT '1' COMMENT '状态(0-禁用,1-启用)',
|
||
|
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
|
||
|
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
|
||
|
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
|
||
|
`update_time` datetime DEFAULT NULL COMMENT '更新日期',
|
||
|
PRIMARY KEY (`id`),
|
||
|
KEY `idx_heritage_level` (`heritage_level`),
|
||
|
KEY `idx_status` (`status`)
|
||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='非遗传承人表';
|
||
|
|
||
|
-- 9. 文化内容分类表
|
||
|
CREATE TABLE `oroqen_culture_category` (
|
||
|
`id` varchar(36) NOT NULL COMMENT '主键',
|
||
|
`category_name` varchar(100) NOT NULL COMMENT '分类名称',
|
||
|
`category_code` varchar(50) DEFAULT NULL COMMENT '分类编码',
|
||
|
`parent_id` varchar(36) DEFAULT NULL COMMENT '父级ID',
|
||
|
`sort_order` int(11) DEFAULT '0' COMMENT '排序',
|
||
|
`description` text COMMENT '描述',
|
||
|
`icon` varchar(255) DEFAULT NULL COMMENT '图标',
|
||
|
`status` tinyint(1) DEFAULT '1' COMMENT '状态(0-禁用,1-启用)',
|
||
|
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
|
||
|
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
|
||
|
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
|
||
|
`update_time` datetime DEFAULT NULL COMMENT '更新日期',
|
||
|
PRIMARY KEY (`id`),
|
||
|
KEY `idx_parent_id` (`parent_id`),
|
||
|
KEY `idx_category_code` (`category_code`),
|
||
|
KEY `idx_status` (`status`)
|
||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='文化内容分类表';
|
||
|
|
||
|
-- 10. 用户收藏表
|
||
|
CREATE TABLE `oroqen_user_favorite` (
|
||
|
`id` varchar(36) NOT NULL COMMENT '主键',
|
||
|
`user_id` varchar(36) NOT NULL COMMENT '用户ID',
|
||
|
`favorite_type` tinyint(4) DEFAULT NULL COMMENT '收藏类型(1-商品,2-文化内容,3-传承人)',
|
||
|
`target_id` varchar(36) NOT NULL COMMENT '收藏对象ID',
|
||
|
`create_by` varchar(50) DEFAULT NULL COMMENT '创建人',
|
||
|
`create_time` datetime DEFAULT NULL COMMENT '创建日期',
|
||
|
`update_by` varchar(50) DEFAULT NULL COMMENT '更新人',
|
||
|
`update_time` datetime DEFAULT NULL COMMENT '更新日期',
|
||
|
PRIMARY KEY (`id`),
|
||
|
KEY `idx_user_id` (`user_id`),
|
||
|
KEY `idx_favorite_type` (`favorite_type`),
|
||
|
KEY `idx_target_id` (`target_id`),
|
||
|
UNIQUE KEY `uk_user_favorite` (`user_id`, `favorite_type`, `target_id`)
|
||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户收藏表';
|
||
|
|
||
|
-- 添加外键约束(可选)
|
||
|
-- ALTER TABLE `oroqen_product` ADD CONSTRAINT `fk_product_category` FOREIGN KEY (`category_id`) REFERENCES `oroqen_product_category` (`id`);
|
||
|
-- ALTER TABLE `oroqen_order_item` ADD CONSTRAINT `fk_order_item_order` FOREIGN KEY (`order_id`) REFERENCES `oroqen_order` (`id`);
|
||
|
-- ALTER TABLE `oroqen_order_item` ADD CONSTRAINT `fk_order_item_product` FOREIGN KEY (`product_id`) REFERENCES `oroqen_product` (`id`);
|
||
|
-- ALTER TABLE `oroqen_cart` ADD CONSTRAINT `fk_cart_product` FOREIGN KEY (`product_id`) REFERENCES `oroqen_product` (`id`);
|
||
|
-- ALTER TABLE `oroqen_culture_content` ADD CONSTRAINT `fk_culture_content_category` FOREIGN KEY (`category_id`) REFERENCES `oroqen_culture_category` (`id`);
|