| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231 |
- -- =====================================================
- -- 成长规划师注册与升级系统数据库表
- -- version: 1.1
- -- date: 2026-05-05
- -- =====================================================
- -- 成长规划师申请表(注册/升级申请)
- CREATE TABLE IF NOT EXISTS `guide_applications` (
- `id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
- `user_id` BIGINT NOT NULL COMMENT '申请人用户ID',
- `type` VARCHAR(20) NOT NULL DEFAULT 'new_apply' COMMENT '申请类型: new_apply-新注册, upgrade-升级',
- `target_level` VARCHAR(20) NOT NULL COMMENT '目标等级: junior-初级, intermediate-中级, senior-高级',
- `current_level` VARCHAR(20) DEFAULT NULL COMMENT '当前等级(升级时填写)',
- `package_id` BIGINT COMMENT '申请的套餐ID',
- `payment_proof` VARCHAR(500) COMMENT '付款凭证URL',
- `payment_amount` INT COMMENT '付款金额(分)',
- `status` VARCHAR(20) NOT NULL DEFAULT 'pending' COMMENT '状态: pending-待审核, approved-已通过, rejected-已拒绝',
- `reject_reason` VARCHAR(500) COMMENT '拒绝原因',
- `reviewed_at` DATETIME COMMENT '审核时间',
- `reviewed_by` BIGINT COMMENT '审核人ID',
- `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- INDEX `idx_user_id` (`user_id`),
- INDEX `idx_status` (`status`),
- INDEX `idx_type` (`type`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='成长规划师申请表';
- -- 成长规划师表(已认证的规划师)
- CREATE TABLE IF NOT EXISTS `guides` (
- `id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
- `user_id` BIGINT NOT NULL UNIQUE COMMENT '用户ID(唯一)',
- `level` VARCHAR(20) NOT NULL DEFAULT 'junior' COMMENT '等级: junior-初级, intermediate-中级, senior-高级',
- `status` VARCHAR(20) NOT NULL DEFAULT 'active' COMMENT '状态: active-活跃, inactive-停用',
- `service_count` INT DEFAULT 0 COMMENT '当前服务家庭数',
- `package_id` BIGINT COMMENT '购买套餐ID',
- `nickname` VARCHAR(100) COMMENT '规划师昵称',
- `phone` VARCHAR(20) COMMENT '联系电话',
- `intro` TEXT COMMENT '个人介绍',
- `avatar` VARCHAR(500) COMMENT '头像URL',
- `commission_rate` INT DEFAULT 1000 COMMENT '佣金比例(基点,1000=10%)',
- `approved_at` DATETIME COMMENT '审核通过时间',
- `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- INDEX `idx_user_id` (`user_id`),
- INDEX `idx_level` (`level`),
- INDEX `idx_status` (`status`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='成长规划师表';
- -- 升级服务表(可供购买的升级服务)
- CREATE TABLE IF NOT EXISTS `upgrade_services` (
- `id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
- `from_level` VARCHAR(20) NOT NULL COMMENT '原等级: junior, intermediate, senior',
- `to_level` VARCHAR(20) NOT NULL COMMENT '目标等级: junior, intermediate, senior',
- `name` VARCHAR(100) NOT NULL COMMENT '服务名称',
- `description` TEXT COMMENT '描述',
- `price` INT NOT NULL COMMENT '价格(分)',
- `service_months` INT DEFAULT 12 COMMENT '服务期限(月)',
- `service_limit_add` INT DEFAULT 0 COMMENT '额外增加的服务名额',
- `is_active` TINYINT DEFAULT 1 COMMENT '是否上架: 0-否, 1-是',
- `sort_order` INT DEFAULT 0 COMMENT '排序',
- `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- UNIQUE KEY `uk_from_to` (`from_level`, `to_level`),
- INDEX `idx_from_level` (`from_level`),
- INDEX `idx_is_active` (`is_active`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='升级服务表';
- -- 规划师套餐表(管理员配置的套餐模板)
- CREATE TABLE IF NOT EXISTS `guide_package_templates` (
- `id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
- `name` VARCHAR(100) NOT NULL COMMENT '套餐名称',
- `level` VARCHAR(20) NOT NULL COMMENT '等级: junior, intermediate, senior',
- `price` INT NOT NULL COMMENT '价格(分)',
- `min_price` INT COMMENT '最低价(分)',
- `description` TEXT COMMENT '套餐描述',
- `service_months` INT DEFAULT 12 COMMENT '服务期限(月)',
- `service_limit` INT DEFAULT 50 COMMENT '服务名额限制',
- `features` JSON COMMENT '功能权限列表',
- `is_active` TINYINT DEFAULT 1 COMMENT '是否上架: 0-否, 1-是',
- `sort_order` INT DEFAULT 0 COMMENT '排序',
- `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- INDEX `idx_level` (`level`),
- INDEX `idx_is_active` (`is_active`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='规划师套餐模板表';
- -- 规划师-家庭关联表
- CREATE TABLE IF NOT EXISTS `guide_family_relations` (
- `id` BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
- `guide_id` BIGINT NOT NULL COMMENT '规划师ID',
- `family_id` BIGINT NOT NULL COMMENT '家庭ID',
- `service_type` VARCHAR(50) DEFAULT 'basic' COMMENT '服务类型: basic-基础, premium-高级',
- `service_price` INT DEFAULT 0 COMMENT '服务价格(分)',
- `status` VARCHAR(20) DEFAULT 'active' COMMENT '状态: active-服务中, paused-已暂停',
- `bound_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '绑定时间',
- `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
- `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
- UNIQUE KEY `uk_guide_family` (`guide_id`, `family_id`),
- INDEX `idx_guide_id` (`guide_id`),
- INDEX `idx_family_id` (`family_id`)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='规划师-家庭关联表';
- 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` INT NOT NULL COMMENT '成长规划师定价(分)',
- `commission_rate` INT NOT NULL DEFAULT 0 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` INT 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` INT 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 '测评时长(分钟)',
- `attention_score` INT COMMENT '注意力得分',
- `focus_score` INT COMMENT '专注力得分',
- `memory_score` INT COMMENT '记忆力得分',
- `logic_score` INT COMMENT '逻辑思维得分',
- `overall_score` INT 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='测评结果表';
|