Files
lanecarford_back/src/main/resources/sql/schema.sql

185 lines
11 KiB
MySQL
Raw Normal View History

2025-10-20 16:13:39 +08:00
-- Lane Carford AI系统基础架构数据库表结构
-- 创建数据库
CREATE DATABASE IF NOT EXISTS lanecrawford CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE lanecrawford;
2025-10-20 16:13:39 +08:00
-- 1. 用户表
CREATE TABLE `user` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '用户名',
`email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '邮箱',
`password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '密码(加密后)',
`gender` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '性别',
`employee_id` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '员工编号',
`store_id` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '门店ID',
`store_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '门店名称',
`phone` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '手机号',
`avatar` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '头像地址',
`language` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '系统语言',
`is_active` tinyint DEFAULT '1' COMMENT '是否启用(0-禁用,1-启用)',
`created_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` tinyint DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`),
UNIQUE KEY `employee_id` (`employee_id`),
KEY `idx_email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户表';
2025-10-20 16:13:39 +08:00
-- 2. 顾客表
CREATE TABLE `customers` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '顾客ID',
`name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '顾客姓名',
`email` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '顾客邮箱',
`phone` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '手机号',
`gender` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '性别',
`age_range` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '年龄段',
`created_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` tinyint DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
PRIMARY KEY (`id`),
KEY `idx_email` (`email`),
KEY `idx_phone` (`phone`),
KEY `idx_name` (`name`),
KEY `idx_deleted` (`deleted`)
2025-10-20 16:13:39 +08:00
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='顾客表';
-- 3. 进店记录表
CREATE TABLE `visit_records` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '进店记录ID',
`customer_id` bigint NOT NULL COMMENT '顾客ID',
`user_id` bigint NOT NULL COMMENT '导购ID',
`visit_date` date NOT NULL COMMENT '进店日期',
`visit_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '进店时间',
`notes` text COLLATE utf8mb4_unicode_ci COMMENT '备注',
`created_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` tinyint DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
PRIMARY KEY (`id`),
KEY `idx_customer_id` (`customer_id`),
KEY `idx_user_id` (`user_id`),
KEY `idx_deleted` (`deleted`)
2025-10-20 16:13:39 +08:00
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='进店记录表';
-- 4. 风格配置表
CREATE TABLE `styles` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '风格配置ID',
`customer_id` bigint NOT NULL COMMENT '顾客ID',
`visit_record_id` bigint NOT NULL COMMENT '进店记录ID',
`outfit_request_id` bigint NOT NULL COMMENT '请求id',
`is_selected` tinyint DEFAULT '0' COMMENT '是否选中(0-未选中,1-已选中)',
`style_image_url` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '风格图片URL',
`python_request_id` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Python请求ID',
`generation_status` tinyint DEFAULT '0' COMMENT '生成状态(0-处理中,1-已完成,2-失败)',
`items` json DEFAULT NULL COMMENT '单品唯一标识',
`error_message` text COLLATE utf8mb4_unicode_ci COMMENT '错误信息',
`created_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` tinyint DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
PRIMARY KEY (`id`),
KEY `idx_customer_id` (`customer_id`),
KEY `idx_visit_record_id` (`visit_record_id`),
KEY `idx_python_request_id` (`python_request_id`),
KEY `idx_is_selected` (`is_selected`),
KEY `idx_generation_status` (`generation_status`),
KEY `idx_deleted` (`deleted`)
2025-10-20 16:13:39 +08:00
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='风格配置表';
-- 5. 模特照片表
CREATE TABLE `model_photos` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '模特照片ID',
`photo_url` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模特照片URL',
`photo_name` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '照片名称',
`gender` varchar(10) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '性别',
`is_active` tinyint DEFAULT '1' COMMENT '是否启用(0-禁用,1-启用)',
`sort_order` int DEFAULT '0' COMMENT '排序权重',
`created_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` tinyint DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
PRIMARY KEY (`id`),
KEY `idx_gender` (`gender`),
KEY `idx_is_active` (`is_active`),
KEY `idx_sort_order` (`sort_order`),
KEY `idx_deleted` (`deleted`)
2025-10-20 16:13:39 +08:00
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='模特照片表';
-- 6. 顾客照片表
CREATE TABLE `customer_photos` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '顾客照片ID',
`customer_id` bigint NOT NULL COMMENT '顾客ID',
`visit_record_id` bigint NOT NULL COMMENT '进店记录ID',
`photo_url` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '照片URL',
`is_primary` tinyint DEFAULT '0' COMMENT '是否为主照片(0-否,1-是)',
`upload_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '上传时间',
`created_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` tinyint DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
PRIMARY KEY (`id`),
KEY `idx_customer_id` (`customer_id`),
KEY `idx_visit_record_id` (`visit_record_id`),
KEY `idx_is_primary` (`is_primary`),
KEY `idx_deleted` (`deleted`)
2025-10-20 16:13:39 +08:00
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='顾客照片表';
-- 7. 试穿效果表
CREATE TABLE `try_on_effects` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '试穿效果ID',
`customer_id` bigint NOT NULL COMMENT '顾客ID',
`visit_record_id` bigint NOT NULL COMMENT '进店记录ID',
`style_id` bigint NOT NULL COMMENT '风格ID',
`model_photo_id` bigint DEFAULT NULL COMMENT '模特照片ID',
`customer_photo_id` bigint DEFAULT NULL COMMENT '顾客照片ID',
`prompt` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '提示词,当is_regenerated为1时才会有值',
`original_try_on_id` bigint DEFAULT NULL COMMENT '原试穿效果ID,当is_regenerated为1时才会有值',
`is_regenerated` tinyint DEFAULT '0' COMMENT '是否由生成结果重新生成(0-否,1-是)',
`result_image_url` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '试穿结果图片URL',
`request_id` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '请求ID',
`generation_status` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT 'pending' COMMENT '生成状态(pending-等待中,processing-处理中,completed-已完成,failed-失败)',
`error_message` text COLLATE utf8mb4_unicode_ci COMMENT '错误信息',
`is_favorite` tinyint DEFAULT '0' COMMENT '是否喜欢的最终造型(0-否,1-是)',
`created_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` tinyint DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
PRIMARY KEY (`id`),
KEY `idx_customer_id` (`customer_id`),
KEY `idx_visit_record_id` (`visit_record_id`),
KEY `idx_style_id` (`style_id`),
KEY `idx_request_id` (`request_id`),
KEY `idx_generation_status` (`generation_status`),
KEY `idx_is_favorite` (`is_favorite`),
KEY `idx_deleted` (`deleted`)
2025-10-20 16:13:39 +08:00
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='试穿效果表';
-- 8. 穿搭请求表
CREATE TABLE `outfit_request` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`customer_id` bigint NOT NULL COMMENT '顾客id',
`visit_record_id` bigint NOT NULL COMMENT '进店记录id',
`stylist` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '选择的设计师风格',
`gender` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '选择的性别',
`status` tinyint(1) DEFAULT '0' COMMENT '当前任务状态 0-处理中 1-成功 2-失败',
`created_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` tinyint NOT NULL DEFAULT '0' COMMENT '逻辑删除标志0-未删除1-已删除',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='穿搭请求表';
2025-10-20 16:13:39 +08:00
2025-11-14 17:36:37 +08:00
-- 9. 意见建议表
CREATE TABLE `suggestions` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '意见建议ID',
`customer_id` bigint NOT NULL COMMENT '顾客ID',
`visit_record_id` bigint NOT NULL COMMENT '进店记录ID',
`try_on_effects_id` bigint NOT NULL COMMENT '试穿效果ID',
`suggestion` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '意见建议内容',
`created_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`deleted` tinyint DEFAULT '0' COMMENT '逻辑删除标志(0-未删除,1-已删除)',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='意见建议表';
)
2025-10-20 16:13:39 +08:00