-- 创建数据库（如果不存在）
CREATE DATABASE IF NOT EXISTS digital_cloth_v2 CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE DATABASE IF NOT EXISTS digital_unify CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- 使用主数据库
USE digital_cloth_v2;

-- 创建任务队列表
CREATE TABLE IF NOT EXISTS `sys_task_queue` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `is_hr` varchar(255) DEFAULT NULL COMMENT '是否高清',
  `try_on_type` varchar(255) DEFAULT NULL COMMENT '试穿类型 单个 single 还是批量 batch',
  `try_on_algo` varchar(255) DEFAULT NULL COMMENT '试穿算法 cloth 衣服  hair 发型  figure 身材  underwear 内衣',
  `sex` varchar(255) DEFAULT NULL COMMENT '性别',
  `status` varchar(255) DEFAULT NULL COMMENT '任务状态',
  `task_id` varchar(255) DEFAULT NULL COMMENT '批次号',
  `json_info` text DEFAULT NULL COMMENT '图片集合',
  `user_id` varchar(255) DEFAULT NULL COMMENT '用户id',
  `del_flag` int(11) DEFAULT 0 COMMENT '逻辑删',
  `create_by` varchar(255) DEFAULT NULL COMMENT '创建人',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(255) DEFAULT NULL COMMENT '更新人',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='任务队列表';

-- 创建历史记录表
CREATE TABLE IF NOT EXISTS `sys_history` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `user_id` varchar(255) DEFAULT NULL COMMENT '用户id',
  `type` varchar(255) DEFAULT NULL COMMENT '类型',
  `content` text DEFAULT NULL COMMENT '内容',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='历史记录表';

-- 创建文件表
CREATE TABLE IF NOT EXISTS `sys_file` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `file_name` varchar(255) DEFAULT NULL COMMENT '文件名',
  `file_path` varchar(255) DEFAULT NULL COMMENT '文件路径',
  `file_size` bigint(20) DEFAULT NULL COMMENT '文件大小',
  `file_type` varchar(255) DEFAULT NULL COMMENT '文件类型',
  `user_id` varchar(255) DEFAULT NULL COMMENT '用户id',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='文件表';

-- 使用用户数据库
USE digital_unify;

-- 创建用户表
CREATE TABLE IF NOT EXISTS `sys_user` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) NOT NULL COMMENT '用户名',
  `password` varchar(255) NOT NULL COMMENT '密码',
  `realname` varchar(255) DEFAULT NULL COMMENT '真实姓名',
  `email` varchar(255) DEFAULT NULL COMMENT '邮箱',
  `phone` varchar(255) DEFAULT NULL COMMENT '电话',
  `status` varchar(255) DEFAULT '1' COMMENT '状态',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';

-- 插入默认管理员用户（密码：admin123）
INSERT INTO `sys_user` (`username`, `password`, `realname`, `email`, `phone`, `status`, `create_time`) 
VALUES ('admin', '$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2', '管理员', 'admin@example.com', '13800138000', '1', NOW()) 
ON DUPLICATE KEY UPDATE username=username;

-- 创建角色表
CREATE TABLE IF NOT EXISTS `sys_role` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `role_name` varchar(255) DEFAULT NULL COMMENT '角色名称',
  `role_code` varchar(255) DEFAULT NULL COMMENT '角色编码',
  `description` varchar(255) DEFAULT NULL COMMENT '描述',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色表';

-- 创建权限表
CREATE TABLE IF NOT EXISTS `sys_permission` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL COMMENT '权限名称',
  `code` varchar(255) DEFAULT NULL COMMENT '权限编码',
  `type` varchar(255) DEFAULT NULL COMMENT '权限类型',
  `url` varchar(255) DEFAULT NULL COMMENT '访问路径',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='权限表';
