|
|
@@ -0,0 +1,132 @@
|
|
|
+-- 指导师邀请码表
|
|
|
+CREATE TABLE IF NOT EXISTS `guide_invite_codes` (
|
|
|
+ `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
|
|
+ `guide_id` BIGINT NOT NULL COMMENT '指导师ID',
|
|
|
+ `code` VARCHAR(20) NOT NULL COMMENT '邀请码',
|
|
|
+ `status` TINYINT NOT NULL DEFAULT 1 COMMENT '状态:1-有效,0-已失效',
|
|
|
+ `use_count` INT NOT NULL DEFAULT 0 COMMENT '使用次数',
|
|
|
+ `max_use_count` INT NOT NULL DEFAULT 100 COMMENT '最大使用次数',
|
|
|
+ `expire_time` DATETIME COMMENT '过期时间',
|
|
|
+ `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
|
+ `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
|
+ PRIMARY KEY (`id`),
|
|
|
+ UNIQUE KEY `uk_code` (`code`),
|
|
|
+ KEY `idx_guide_id` (`guide_id`),
|
|
|
+ KEY `idx_status` (`status`)
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='指导师邀请码表';
|
|
|
+
|
|
|
+-- 指导师层级关系表
|
|
|
+CREATE TABLE IF NOT EXISTS `guide_hierarchy` (
|
|
|
+ `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
|
|
+ `parent_id` BIGINT NOT NULL COMMENT '上级指导师ID',
|
|
|
+ `child_id` BIGINT NOT NULL COMMENT '下级指导师ID',
|
|
|
+ `level` INT NOT NULL DEFAULT 1 COMMENT '层级深度:1-直接下级,2-二级下级,以此类推',
|
|
|
+ `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
|
+ `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
|
+ PRIMARY KEY (`id`),
|
|
|
+ UNIQUE KEY `uk_parent_child` (`parent_id`, `child_id`),
|
|
|
+ KEY `idx_child_id` (`child_id`),
|
|
|
+ KEY `idx_level` (`level`)
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='指导师层级关系表';
|
|
|
+
|
|
|
+-- 指导师套餐表
|
|
|
+CREATE TABLE IF NOT EXISTS `guide_packages` (
|
|
|
+ `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
|
|
+ `guide_id` BIGINT NOT NULL COMMENT '指导师ID',
|
|
|
+ `package_id` BIGINT NOT NULL COMMENT '套餐ID',
|
|
|
+ `price` DECIMAL(10,2) NOT NULL COMMENT '指导师定价',
|
|
|
+ `commission_rate` DECIMAL(5,2) NOT NULL DEFAULT 0.00 COMMENT '上级佣金比例(%)',
|
|
|
+ `status` TINYINT NOT NULL DEFAULT 1 COMMENT '状态:1-上架,0-下架',
|
|
|
+ `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
|
+ `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
|
+ PRIMARY KEY (`id`),
|
|
|
+ UNIQUE KEY `uk_guide_package` (`guide_id`, `package_id`),
|
|
|
+ KEY `idx_package_id` (`package_id`),
|
|
|
+ KEY `idx_status` (`status`)
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='指导师套餐表';
|
|
|
+
|
|
|
+-- 订单表
|
|
|
+CREATE TABLE IF NOT EXISTS `orders` (
|
|
|
+ `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
|
|
+ `order_no` VARCHAR(32) NOT NULL COMMENT '订单号',
|
|
|
+ `user_id` BIGINT NOT NULL COMMENT '用户ID',
|
|
|
+ `guide_id` BIGINT COMMENT '指导师ID',
|
|
|
+ `package_id` BIGINT NOT NULL COMMENT '套餐ID',
|
|
|
+ `package_name` VARCHAR(100) NOT NULL COMMENT '套餐名称',
|
|
|
+ `amount` DECIMAL(10,2) NOT NULL COMMENT '订单金额',
|
|
|
+ `status` TINYINT NOT NULL DEFAULT 0 COMMENT '状态:0-待支付,1-已支付,2-已取消,3-已退款',
|
|
|
+ `payment_method` VARCHAR(20) COMMENT '支付方式:wechat-微信支付,alipay-支付宝',
|
|
|
+ `payment_time` DATETIME COMMENT '支付时间',
|
|
|
+ `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
|
+ `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
|
+ PRIMARY KEY (`id`),
|
|
|
+ UNIQUE KEY `uk_order_no` (`order_no`),
|
|
|
+ KEY `idx_user_id` (`user_id`),
|
|
|
+ KEY `idx_guide_id` (`guide_id`),
|
|
|
+ KEY `idx_status` (`status`)
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='订单表';
|
|
|
+
|
|
|
+-- 支付记录表
|
|
|
+CREATE TABLE IF NOT EXISTS `payment_records` (
|
|
|
+ `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
|
|
+ `order_no` VARCHAR(32) NOT NULL COMMENT '订单号',
|
|
|
+ `transaction_id` VARCHAR(64) COMMENT '第三方交易号',
|
|
|
+ `payment_method` VARCHAR(20) NOT NULL COMMENT '支付方式:wechat-微信支付,alipay-支付宝',
|
|
|
+ `amount` DECIMAL(10,2) NOT NULL COMMENT '支付金额',
|
|
|
+ `status` TINYINT NOT NULL DEFAULT 0 COMMENT '状态:0-待支付,1-支付成功,2-支付失败',
|
|
|
+ `notify_time` DATETIME COMMENT '回调时间',
|
|
|
+ `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
|
+ `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
|
+ PRIMARY KEY (`id`),
|
|
|
+ UNIQUE KEY `uk_order_no` (`order_no`),
|
|
|
+ KEY `idx_transaction_id` (`transaction_id`),
|
|
|
+ KEY `idx_status` (`status`)
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='支付记录表';
|
|
|
+
|
|
|
+-- 测评预约表
|
|
|
+CREATE TABLE IF NOT EXISTS `assessment_appointments` (
|
|
|
+ `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
|
|
+ `user_id` BIGINT NOT NULL COMMENT '用户ID',
|
|
|
+ `child_id` BIGINT COMMENT '孩子ID',
|
|
|
+ `guide_id` BIGINT NOT NULL COMMENT '指导师ID',
|
|
|
+ `package_id` BIGINT NOT NULL COMMENT '套餐ID',
|
|
|
+ `appointment_date` DATE NOT NULL COMMENT '预约日期',
|
|
|
+ `appointment_time` VARCHAR(20) NOT NULL COMMENT '预约时间段',
|
|
|
+ `status` TINYINT NOT NULL DEFAULT 0 COMMENT '状态:0-待确认,1-已确认,2-已完成,3-已取消',
|
|
|
+ `remark` VARCHAR(500) COMMENT '备注',
|
|
|
+ `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
|
+ `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
|
+ PRIMARY KEY (`id`),
|
|
|
+ KEY `idx_user_id` (`user_id`),
|
|
|
+ KEY `idx_guide_id` (`guide_id`),
|
|
|
+ KEY `idx_appointment_date` (`appointment_date`),
|
|
|
+ KEY `idx_status` (`status`)
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='测评预约表';
|
|
|
+
|
|
|
+-- 测评结果表
|
|
|
+CREATE TABLE IF NOT EXISTS `assessment_results` (
|
|
|
+ `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
|
|
+ `appointment_id` BIGINT COMMENT '预约ID',
|
|
|
+ `user_id` BIGINT NOT NULL COMMENT '用户ID',
|
|
|
+ `child_id` BIGINT COMMENT '孩子ID',
|
|
|
+ `child_name` VARCHAR(50) COMMENT '孩子姓名',
|
|
|
+ `guide_id` BIGINT NOT NULL COMMENT '指导师ID',
|
|
|
+ `guide_name` VARCHAR(50) COMMENT '指导师姓名',
|
|
|
+ `assessment_date` DATE NOT NULL COMMENT '测评日期',
|
|
|
+ `duration_minutes` INT COMMENT '测评时长(分钟)',
|
|
|
+ `dan_level` VARCHAR(20) COMMENT 'DAN等级',
|
|
|
+ `attention_score` DECIMAL(5,2) COMMENT '注意力得分',
|
|
|
+ `focus_score` DECIMAL(5,2) COMMENT '专注力得分',
|
|
|
+ `memory_score` DECIMAL(5,2) COMMENT '记忆力得分',
|
|
|
+ `logic_score` DECIMAL(5,2) COMMENT '逻辑思维得分',
|
|
|
+ `overall_score` DECIMAL(5,2) COMMENT '综合得分',
|
|
|
+ `analysis_report` TEXT COMMENT '分析报告',
|
|
|
+ `growth_suggestions` TEXT COMMENT '成长建议',
|
|
|
+ `next_review_date` DATE COMMENT '下次复测日期',
|
|
|
+ `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
|
+ `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
|
+ PRIMARY KEY (`id`),
|
|
|
+ KEY `idx_user_id` (`user_id`),
|
|
|
+ KEY `idx_guide_id` (`guide_id`),
|
|
|
+ KEY `idx_assessment_date` (`assessment_date`)
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='测评结果表';
|