|
|
@@ -296,7 +296,7 @@ CREATE TABLE IF NOT EXISTS guides (
|
|
|
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',
|
|
|
+ package_id BIGINT COMMENT '购买任务模板ID',
|
|
|
nickname VARCHAR(100) COMMENT '申请昵称',
|
|
|
phone VARCHAR(20) COMMENT '联系电话',
|
|
|
intro TEXT COMMENT '个人介绍',
|
|
|
@@ -325,7 +325,7 @@ CREATE TABLE IF NOT EXISTS assessment_appointments (
|
|
|
child_id BIGINT COMMENT '孩子ID',
|
|
|
teacher_id BIGINT COMMENT '教师ID',
|
|
|
guide_id BIGINT COMMENT '规划师ID',
|
|
|
- package_id BIGINT COMMENT '套餐ID',
|
|
|
+ package_id BIGINT COMMENT '任务模板ID',
|
|
|
appointment_date VARCHAR(20) COMMENT '预约日期 yyyy-MM-dd',
|
|
|
appointment_time VARCHAR(20) COMMENT '预约时间 HH:mm',
|
|
|
duration_minutes INT COMMENT '测评时长',
|
|
|
@@ -501,7 +501,7 @@ CREATE TABLE IF NOT EXISTS reward_wishlists (
|
|
|
-- 4. 更新任务状态枚举(如果需要支持更多状态)
|
|
|
-- ALTER TABLE tasks MODIFY COLUMN status ENUM('pending', 'completed', 'overdue', 'cancelled', 'parent_pending', 'parent_completed') DEFAULT 'pending';
|
|
|
|
|
|
--- ===================== 任务模板套餐功能 =====================
|
|
|
+-- ===================== 任务模板任务模板功能 =====================
|
|
|
|
|
|
-- 成长规划师-家庭关系表
|
|
|
CREATE TABLE IF NOT EXISTS guide_families (
|
|
|
@@ -520,11 +520,11 @@ CREATE TABLE IF NOT EXISTS guide_families (
|
|
|
INDEX idx_family_id (family_id)
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
|
|
--- 任务模板套餐
|
|
|
+-- 任务模板任务模板
|
|
|
CREATE TABLE IF NOT EXISTS task_template_packages (
|
|
|
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
|
|
creator_id BIGINT NOT NULL COMMENT '创建者成长规划师ID',
|
|
|
- name VARCHAR(100) NOT NULL COMMENT '套餐名称',
|
|
|
+ name VARCHAR(100) NOT NULL COMMENT '任务模板名称',
|
|
|
description TEXT COMMENT '详细介绍',
|
|
|
cycle_days INT NOT NULL COMMENT '周期天数',
|
|
|
category VARCHAR(50) COMMENT '分类',
|
|
|
@@ -545,10 +545,10 @@ CREATE TABLE IF NOT EXISTS task_template_packages (
|
|
|
INDEX idx_is_public (is_public)
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
|
|
--- 套餐内任务项
|
|
|
+-- 任务模板内任务项
|
|
|
CREATE TABLE IF NOT EXISTS task_template_items (
|
|
|
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
|
|
- package_id BIGINT NOT NULL COMMENT '所属套餐ID',
|
|
|
+ package_id BIGINT NOT NULL COMMENT '所属任务模板ID',
|
|
|
task_name VARCHAR(100) NOT NULL,
|
|
|
description TEXT,
|
|
|
points INT DEFAULT 0,
|
|
|
@@ -561,7 +561,7 @@ CREATE TABLE IF NOT EXISTS task_template_items (
|
|
|
INDEX idx_package_id (package_id)
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
|
|
--- 套餐应用实例
|
|
|
+-- 任务模板应用实例
|
|
|
CREATE TABLE IF NOT EXISTS task_plan_instances (
|
|
|
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
|
|
package_id BIGINT NOT NULL,
|
|
|
@@ -595,14 +595,14 @@ CREATE TABLE IF NOT EXISTS task_plan_items (
|
|
|
INDEX idx_instance_id (instance_id)
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
|
|
--- 套餐购买订单
|
|
|
+-- 任务模板购买订单
|
|
|
CREATE TABLE IF NOT EXISTS package_orders (
|
|
|
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
|
|
order_no VARCHAR(32) UNIQUE NOT NULL,
|
|
|
user_id BIGINT NOT NULL COMMENT '购买者用户ID',
|
|
|
family_id BIGINT NOT NULL COMMENT '家庭ID',
|
|
|
- package_id BIGINT NOT NULL COMMENT '套餐ID',
|
|
|
- package_name VARCHAR(100) COMMENT '套餐名称',
|
|
|
+ package_id BIGINT NOT NULL COMMENT '任务模板ID',
|
|
|
+ package_name VARCHAR(100) COMMENT '任务模板名称',
|
|
|
price INT NOT NULL COMMENT '支付金额(分)',
|
|
|
platform_fee INT DEFAULT 0 COMMENT '平台服务费(分)',
|
|
|
user_coupon_id BIGINT COMMENT '使用的用户优惠券ID',
|
|
|
@@ -856,10 +856,10 @@ CREATE TABLE IF NOT EXISTS assessment_orders (
|
|
|
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',
|
|
|
+ package_id BIGINT NOT NULL COMMENT '任务模板ID',
|
|
|
appointment_id BIGINT COMMENT '关联预约ID',
|
|
|
guide_name VARCHAR(50) COMMENT '规划师名称',
|
|
|
- package_name VARCHAR(100) COMMENT '套餐名称',
|
|
|
+ package_name VARCHAR(100) COMMENT '任务模板名称',
|
|
|
total_price BIGINT DEFAULT 0 COMMENT '总价(分)',
|
|
|
discount_amount BIGINT DEFAULT 0 COMMENT '优惠金额(分)',
|
|
|
actual_price BIGINT DEFAULT 0 COMMENT '实付金额(分)',
|
|
|
@@ -885,7 +885,7 @@ CREATE TABLE IF NOT EXISTS guide_applications (
|
|
|
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',
|
|
|
+ package_id BIGINT COMMENT '申请的任务模板ID',
|
|
|
payment_proof VARCHAR(500) COMMENT '付款凭证URL',
|
|
|
payment_amount INT COMMENT '付款金额(分)',
|
|
|
address VARCHAR(500) COMMENT '地址',
|
|
|
@@ -1333,7 +1333,7 @@ CREATE TABLE IF NOT EXISTS service_contents (
|
|
|
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
|
|
|
) 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 '模板名称',
|
|
|
@@ -1344,18 +1344,18 @@ CREATE TABLE IF NOT EXISTS guide_package_templates (
|
|
|
status VARCHAR(20) DEFAULT 'ACTIVE' COMMENT '状态: ACTIVE/DISABLED',
|
|
|
created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
|
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
|
|
|
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='套餐模板表';
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='任务模板模板表';
|
|
|
|
|
|
--- 套餐模板服务项表
|
|
|
+-- 任务模板模板服务项表
|
|
|
CREATE TABLE IF NOT EXISTS package_template_services (
|
|
|
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
|
|
|
template_id BIGINT NOT NULL COMMENT '关联模板',
|
|
|
content_id BIGINT NOT NULL COMMENT '关联服务内容',
|
|
|
quantity INT DEFAULT 1 COMMENT '数量',
|
|
|
unit VARCHAR(20) COMMENT '单位'
|
|
|
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='套餐模板服务项表';
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='任务模板模板服务项表';
|
|
|
|
|
|
--- 成长规划师套餐表
|
|
|
+-- 成长规划师任务模板表
|
|
|
CREATE TABLE IF NOT EXISTS guide_packages (
|
|
|
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
|
|
|
guide_id BIGINT COMMENT '成长规划师ID',
|
|
|
@@ -1363,28 +1363,28 @@ CREATE TABLE IF NOT EXISTS guide_packages (
|
|
|
commission_rate INT COMMENT '佣金比例(基点,1000=10%)',
|
|
|
teacher_id BIGINT COMMENT '成长规划师ID(旧字段)',
|
|
|
template_id BIGINT COMMENT '关联模板(旧字段)',
|
|
|
- name VARCHAR(100) NOT NULL COMMENT '套餐名称',
|
|
|
- level VARCHAR(20) COMMENT '套餐等级',
|
|
|
+ name VARCHAR(100) NOT NULL COMMENT '任务模板名称',
|
|
|
+ level VARCHAR(20) COMMENT '任务模板等级',
|
|
|
price INT NOT NULL COMMENT '销售价格(分)',
|
|
|
validity_months INT COMMENT '有效期(月)',
|
|
|
validity_days INT DEFAULT 0 COMMENT '有效期天数',
|
|
|
- description TEXT COMMENT '套餐说明',
|
|
|
+ description TEXT COMMENT '任务模板说明',
|
|
|
status VARCHAR(20) DEFAULT 'DRAFT' COMMENT '状态: DRAFT/PUBLISHED/PAUSED',
|
|
|
sort_order INT DEFAULT 0 COMMENT '排序',
|
|
|
sales_count INT DEFAULT 0 COMMENT '销量',
|
|
|
share_code VARCHAR(50) COMMENT '分享码',
|
|
|
created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
|
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
|
|
|
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='成长规划师套餐表';
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='成长规划师任务模板表';
|
|
|
|
|
|
--- 成长规划师套餐服务项表
|
|
|
+-- 成长规划师任务模板服务项表
|
|
|
CREATE TABLE IF NOT EXISTS guide_package_services (
|
|
|
id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT '主键ID',
|
|
|
- package_id BIGINT NOT NULL COMMENT '关联套餐',
|
|
|
+ package_id BIGINT NOT NULL COMMENT '关联任务模板',
|
|
|
content_id BIGINT NOT NULL COMMENT '关联服务内容',
|
|
|
quantity INT DEFAULT 1 COMMENT '数量',
|
|
|
unit VARCHAR(20) COMMENT '单位'
|
|
|
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='成长规划师套餐服务项表';
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='成长规划师任务模板服务项表';
|
|
|
|
|
|
-- 成长规划师订单表
|
|
|
CREATE TABLE IF NOT EXISTS guide_orders (
|
|
|
@@ -1392,7 +1392,7 @@ CREATE TABLE IF NOT EXISTS guide_orders (
|
|
|
order_no VARCHAR(50) NOT NULL COMMENT '订单号',
|
|
|
teacher_id BIGINT NOT NULL COMMENT '成长规划师ID',
|
|
|
family_id BIGINT NOT NULL COMMENT '家庭ID',
|
|
|
- package_id BIGINT NOT NULL COMMENT '套餐ID',
|
|
|
+ package_id BIGINT NOT NULL COMMENT '任务模板ID',
|
|
|
amount INT NOT NULL COMMENT '金额(分)',
|
|
|
status VARCHAR(20) DEFAULT 'PENDING' COMMENT '状态: PENDING/PAID/COMPLETED/REFUNDED',
|
|
|
pay_time DATETIME COMMENT '支付时间',
|
|
|
@@ -2432,7 +2432,7 @@ CREATE TABLE IF NOT EXISTS product_ppoint (
|
|
|
CREATE TABLE IF NOT EXISTS assessment_products (
|
|
|
id BIGINT AUTO_INCREMENT PRIMARY KEY,
|
|
|
product_id BIGINT NOT NULL COMMENT '关联products表',
|
|
|
- assessment_type VARCHAR(20) NOT NULL COMMENT 'single=单包, bundle=套餐',
|
|
|
+ assessment_type VARCHAR(20) NOT NULL COMMENT 'single=单包, bundle=任务模板',
|
|
|
total_sessions INT NOT NULL DEFAULT 1 COMMENT '包含测评次数',
|
|
|
validity_days INT NOT NULL DEFAULT 365 COMMENT '有效期(天)',
|
|
|
guide_scope VARCHAR(50) DEFAULT 'all' COMMENT '规划师范围: all/assigned/auto',
|
|
|
@@ -3904,3 +3904,68 @@ CREATE TABLE IF NOT EXISTS rebate_commission_config (
|
|
|
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
|
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='佣金返利配置';
|
|
|
+
|
|
|
+-- DAN测评服务闭环表
|
|
|
+
|
|
|
+CREATE TABLE IF NOT EXISTS `dan_assessment_executions` (
|
|
|
+ `id` BIGINT AUTO_INCREMENT PRIMARY KEY,
|
|
|
+ `assessment_execution_id` BIGINT NOT NULL COMMENT '执行记录ID',
|
|
|
+ `assessment_order_id` BIGINT NOT NULL COMMENT '订单ID',
|
|
|
+ `child_id` BIGINT NOT NULL COMMENT '孩子ID',
|
|
|
+ `family_id` BIGINT NOT NULL COMMENT '家庭ID',
|
|
|
+ `quota_id` BIGINT COMMENT '额度ID',
|
|
|
+ `assessor_id` BIGINT NOT NULL COMMENT '测评师userId',
|
|
|
+ `assessor_status` ENUM('pending','completed','rejected') DEFAULT 'pending' COMMENT '测评师状态',
|
|
|
+ `assessor_completed_at` DATETIME COMMENT '测评师完成时间',
|
|
|
+ `assessor_notes` VARCHAR(200) COMMENT '测评摘要/服务备注',
|
|
|
+ `planner_id` BIGINT COMMENT '规划师userId',
|
|
|
+ `planner_status` ENUM('pending','completed','rejected') DEFAULT 'pending' COMMENT '规划师状态',
|
|
|
+ `planner_completed_at` DATETIME COMMENT '规划师完成时间',
|
|
|
+ `planner_notes` VARCHAR(200) COMMENT '规划服务备注',
|
|
|
+ `user_confirmed` TINYINT(1) DEFAULT 0 COMMENT '用户确认:0未确认,1已确认',
|
|
|
+ `user_confirmed_at` DATETIME COMMENT '用户确认时间',
|
|
|
+ `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
|
+ `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
|
+ KEY `idx_assessment_execution_id` (`assessment_execution_id`),
|
|
|
+ KEY `idx_assessment_order_id` (`assessment_order_id`),
|
|
|
+ KEY `idx_assessor_id` (`assessor_id`),
|
|
|
+ KEY `idx_planner_id` (`planner_id`),
|
|
|
+ KEY `idx_child_id` (`child_id`),
|
|
|
+ KEY `idx_family_id` (`family_id`)
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='DAN测评服务执行记录';
|
|
|
+
|
|
|
+CREATE TABLE IF NOT EXISTS `service_ratings` (
|
|
|
+ `id` BIGINT AUTO_INCREMENT PRIMARY KEY,
|
|
|
+ `execution_id` BIGINT NOT NULL COMMENT '执行记录ID',
|
|
|
+ `assessment_order_id` BIGINT NOT NULL COMMENT '订单ID',
|
|
|
+ `user_id` BIGINT NOT NULL COMMENT '评分用户ID',
|
|
|
+ `assessor_id` BIGINT NOT NULL COMMENT '测评师userId',
|
|
|
+ `assessor_rating` TINYINT DEFAULT 0 COMMENT '测评师评分 1-5',
|
|
|
+ `assessor_comment` VARCHAR(500) COMMENT '评价内容',
|
|
|
+ `planner_id` BIGINT COMMENT '规划师userId',
|
|
|
+ `planner_rating` TINYINT COMMENT '规划师评分 1-5',
|
|
|
+ `planner_comment` VARCHAR(500) COMMENT '评价内容',
|
|
|
+ `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
|
+ UNIQUE KEY `uniq_execution_user` (`execution_id`, `user_id`),
|
|
|
+ KEY `idx_assessor_id` (`assessor_id`),
|
|
|
+ KEY `idx_planner_id` (`planner_id`)
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='服务评分记录';
|
|
|
+
|
|
|
+CREATE TABLE IF NOT EXISTS `service_settlements` (
|
|
|
+ `id` BIGINT AUTO_INCREMENT PRIMARY KEY,
|
|
|
+ `execution_id` BIGINT NOT NULL COMMENT '执行记录ID',
|
|
|
+ `assessment_order_id` BIGINT NOT NULL COMMENT '订单ID',
|
|
|
+ `provider_id` BIGINT NOT NULL COMMENT '服务提供方userId',
|
|
|
+ `provider_type` ENUM('assessor','planner') NOT NULL COMMENT '服务方类型',
|
|
|
+ `service_fee` BIGINT DEFAULT 0 COMMENT '服务费用(分)',
|
|
|
+ `commission_rate` INT COMMENT '佣金比例(bps)',
|
|
|
+ `commission_amount` BIGINT DEFAULT 0 COMMENT '结算金额(分)',
|
|
|
+ `status` ENUM('pending','settled','failed') DEFAULT 'pending' COMMENT '结算状态',
|
|
|
+ `settled_at` DATETIME COMMENT '结算时间',
|
|
|
+ `transaction_id` VARCHAR(100) COMMENT '转账交易ID',
|
|
|
+ `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
|
+ `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
|
+ KEY `idx_execution_id` (`execution_id`),
|
|
|
+ KEY `idx_provider_id` (`provider_id`),
|
|
|
+ KEY `idx_status` (`status`)
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='服务结算记录';
|