-- Lane Carford AI系统基础架构数据库表结构 -- 创建数据库 CREATE DATABASE IF NOT EXISTS lanecrawford CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; USE lanecrawford; -- 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='用户表'; -- 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`) ) 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`) ) 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`) ) 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`) ) 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`) ) 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`) ) 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='穿搭请求表'; -- 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='意见建议表'; )