### 一站式乡村亲子研学平台文档
#### 一、亲子家庭角色功能详述
目标为家庭提供从灵感激发到回忆珍藏的全流程服务。
##### 行前
- **智能发现与规划**
- 首页推荐基于热门、好评、季节性进行智能推荐。
- 支持按地点、日期、主题(自然/农耕/手工艺)、价格、年龄适配度进行多维筛选。
- 课程详情页包含课程简介、教育目标、行程安排、费用说明、用户评价、导师介绍、安全须知。
- 具备“心愿单”功能,可收藏感兴趣的课程,方便下次比较。
- **一站式预订**
- 清晰定价,明确展示“一大一小”、“两大一小”等不同套餐价格。
- 集成主流支付方式(微信、支付宝)进行在线支付。
- 订单管理可查看待支付、待使用、已完成、已取消的订单,并可申请退款。
##### 行中
- **数字体验助手**
- 采用订单二维码作为电子票务,供商家核销。
- 自动推送天气、集合地点、携带物品清单等行前提醒。
- 支持一键跳转地图 APP 进行交通导航至目的地。
- 提供数字任务卡,如“找到三种不同形状的叶子”、“向导师请教一个关于水稻的问题”,完成可打卡。
##### 行后
- **成长记录与分享**
- 评价系统可从课程内容、导师、场地、性价比多维度打分,并上传图文评价。
- 成长档案包含:
- 勋章墙,完成特定课程可获得(如“小小农夫”、“扎染小能手”)。
- 技能树,参与不同主题课程,点亮对应技能分支。
- 时光轴,按时间顺序展示所有参与过的课程记录和照片。
- 可一键生成游记,自动套用模板,将本次课程的照片、文字评价生成精美的长图或 H5 页面,便于分享至朋友圈。
#### 二、商家角色功能详述
目标为商家提供完整的课程销售与客户管理后台。
##### 店铺管理
- 可进行店铺首页装修,设置店铺头图、简介、公告。
- 需上传营业执照、场地实景图、导师资质证书进行资质认证,供平台审核。
##### 课程管理
- 课程发布使用富文本编辑器编辑详情,设置标题、标签、价格、库存、适用年龄。
- 采用图形化日历进行日历管理,可快速设置/取消特定日期的课程排期。
- 具备课程复制功能,可快速创建相似课程,提高效率。
##### 订单与客户
- 新订单、退款申请实时提醒。
- APP 内扫描家庭订单二维码完成核销。
- 可查看历史客户列表,标记重要客户。
##### 数据与财务
- 数据看板直观展示近期浏览量、预订量、收入趋势。
- 可回复用户评价,所有用户均可见。
- 收入明细清晰展示每一笔收入的来源和状态,支持导出对账。
#### 三、管理员角色功能详述
目标为保障平台生态健康、内容优质与运营有序。
##### 内容与资质审核
- 审核商家提交的资质信息,决定是否准许上线。
- 审核新发布的课程,确保内容安全、价格合理、无虚假宣传。
- 过滤敏感词和违规评价,维护社区氛围。
##### 用户与运营管理
- 可禁用违规用户账号。
- 可对违规商家进行警告、下架课程或封店处理。
- 配置轮播图、推荐课程、专题活动,吸引流量。
- 介入处理亲子家庭与商家之间的退款、投诉等纠纷。
##### 数据监控与分析
- 监控 GMV(成交总额)、订单数、活跃用户数、新注册用户数等核心指标。
- 分析热门搜索词、热门课程类别,指导运营策略。
#### 四、MySQL 表设计
```sql
-- 亲子家庭相关表
CREATE TABLE families (
family_id INT AUTO_INCREMENT PRIMARY KEY,
family_name VARCHAR(255) NOT NULL,
contact_email VARCHAR(255) NOT NULL,
contact_phone VARCHAR(20) NOT NULL,
registration_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE wishlists (
wishlist_id INT AUTO_INCREMENT PRIMARY KEY,
family_id INT NOT NULL,
course_id INT NOT NULL,
added_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (family_id) REFERENCES families(family_id),
FOREIGN KEY (course_id) REFERENCES courses(course_id)
);
CREATE TABLE orders (
order_id INT AUTO_INCREMENT PRIMARY KEY,
family_id INT NOT NULL,
course_id INT NOT NULL,
order_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
order_status ENUM('待支付', '待使用', '已完成', '已取消') NOT NULL,
payment_method VARCHAR(50),
payment_amount DECIMAL(10, 2) NOT NULL,
FOREIGN KEY (family_id) REFERENCES families(family_id),
FOREIGN KEY (course_id) REFERENCES courses(course_id)
);
CREATE TABLE family_evaluations (
evaluation_id INT AUTO_INCREMENT PRIMARY KEY,
family_id INT NOT NULL,
course_id INT NOT NULL,
content TEXT,
rating DECIMAL(3, 2) NOT NULL,
evaluation_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (family_id) REFERENCES families(family_id),
FOREIGN KEY (course_id) REFERENCES courses(course_id)
);
CREATE TABLE family_growth_records (
record_id INT AUTO_INCREMENT PRIMARY KEY,
family_id INT NOT NULL,
course_id INT NOT NULL,
medal_name VARCHAR(255),
skill_branch VARCHAR(255),
record_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (family_id) REFERENCES families(family_id),
FOREIGN KEY (course_id) REFERENCES courses(course_id)
);
-- 商家相关表
CREATE TABLE merchants (
merchant_id INT AUTO_INCREMENT PRIMARY KEY,
merchant_name VARCHAR(255) NOT NULL,
contact_email VARCHAR(255) NOT NULL,
contact_phone VARCHAR(20) NOT NULL,
registration_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
is_approved BOOLEAN DEFAULT FALSE
);
CREATE TABLE merchant_shops (
shop_id INT AUTO_INCREMENT PRIMARY KEY,
merchant_id INT NOT NULL,
shop_name VARCHAR(255) NOT NULL,
shop_introduction TEXT,
shop_banner_image VARCHAR(255),
shop_notice TEXT,
FOREIGN KEY (merchant_id) REFERENCES merchants(merchant_id)
);
CREATE TABLE courses (
course_id INT AUTO_INCREMENT PRIMARY KEY,
merchant_id INT NOT NULL,
course_title VARCHAR(255) NOT NULL,
course_tags VARCHAR(255),
course_description TEXT NOT NULL,
education_goals TEXT,
itinerary TEXT,
price DECIMAL(10, 2) NOT NULL,
stock INT NOT NULL,
suitable_age VARCHAR(50) NOT NULL,
start_date DATE,
end_date DATE,
is_approved BOOLEAN DEFAULT FALSE,
FOREIGN KEY (merchant_id) REFERENCES merchants(merchant_id)
);
CREATE TABLE course_schedules (
schedule_id INT AUTO_INCREMENT PRIMARY KEY,
course_id INT NOT NULL,
schedule_date DATE NOT NULL,
is_available BOOLEAN DEFAULT TRUE,
FOREIGN KEY (course_id) REFERENCES courses(course_id)
);
CREATE TABLE merchant_orders (
merchant_order_id INT AUTO_INCREMENT PRIMARY KEY,
merchant_id INT NOT NULL,
order_id INT NOT NULL,
order_status ENUM('待处理', '已处理') NOT NULL,
FOREIGN KEY (merchant_id) REFERENCES merchants(merchant_id),
FOREIGN KEY (order_id) REFERENCES orders(order_id)
);
-- 管理员相关表
CREATE TABLE administrators (
admin_id INT AUTO_INCREMENT PRIMARY KEY,
admin_name VARCHAR(255) NOT NULL,
contact_email VARCHAR(255) NOT NULL,
registration_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE reviews (
review_id INT AUTO_INCREMENT PRIMARY KEY,
evaluation_id INT NOT NULL,
is_approved BOOLEAN DEFAULT FALSE,
review_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (evaluation_id) REFERENCES family_evaluations(evaluation_id)
);
CREATE TABLE disputes (
dispute_id INT AUTO_INCREMENT PRIMARY KEY,
family_id INT NOT NULL,
merchant_id INT NOT NULL,
order_id INT NOT NULL,
dispute_reason TEXT NOT NULL,
dispute_status ENUM('待处理', '已处理') NOT NULL,
FOREIGN KEY (family_id) REFERENCES families(family_id),
FOREIGN KEY (merchant_id) REFERENCES merchants(merchant_id),
FOREIGN KEY (order_id) REFERENCES orders(order_id)
);
```