翼云Hub · 产品文档(PRD)
Slogan:全链路低空体系聚合,打破供需两端信息壁垒。
版本 v1.0 · 待开发
主色:#5E46F6(深紫主色)/ #7C6AF8(辅)/ #F2EFFE(底)/ #FFFFFF(卡)/ #F59E0B(金色点缀)
导航:4 个底部一级 Tab(首页 / 任务中心 / 研学与课程 / 个人中心)
参考原型:图2(首页结构)· 图3(个人中心结构)· 图1(功能菜单来源)
0. 修订记录
| 版本 |
日期 |
主要变更 |
| v1.0 |
待开发 |
初版产品需求文档,以图 1 功能菜单为蓝本,4 Tab 结构(首页 / 任务中心 / 研学与课程 / 个人中心) |
1. 背景与机会
1.1 背景
国内民用无人机产业进入"持证合规 + 商业落地"双驱动的爆发期。CAAC(民用无人驾驶航空器综合管理平台)2024 年起强制要求超 250g 机型实名注册、操控员持证;植保、巡检、航拍、表演四大场景的商业订单快速放量,但供需两端存在明显错配。
- 需求侧(商家/客户):临时用机、航拍交付、植保作业、应急巡检,缺可信飞手,缺合同/合规保障
- 供给侧(飞手):持证后无稳定接单渠道,资质难被看见
- 服务端(培训机构、维修点、保险公司、租赁商):缺精准流量
行业缺少一个"开放聚合 + 资质可信 + 交易闭环"的信息平台。
1.2 目标(北极星指标)
| 阶段 |
目标 |
北极星指标 |
| M3 |
上线跑通 |
认证飞手数 ≥ 3,000;认证商家数 ≥ 500 |
| M6 |
双边活跃 |
月成交任务数 ≥ 2,000;月活飞手 ≥ 5,000 |
| M12 |
行业心智 |
CAAC 报名转化率行业第一;"找飞手"心智占位 |
1.3 用户角色
| 角色 |
占比 |
核心诉求 |
关键场景 |
| C1 飞手 |
50% |
接单变现、资质展示、考证指引 |
任务中心接单、飞手中心、刷题 |
| C2 商家/客户 |
30% |
发布需求、找可信飞手、合规交付 |
任务中心发单、查附近、CAAC 报名 |
| C3 培训机构 |
10% |
招生、课程展示、品牌曝光 |
商家认证、题库合作 |
| C4 服务商 |
10% |
流量、订单分发 |
商家认证 |
2. 导航与功能架构
2.1 底部 Tab(4 个)
| 序号 |
Tab |
定位 |
核心目的 |
| ① |
首页 |
流量分发中枢 |
黄金位 + 9 宫格 + 供需双广场 + 优质任务 1 条 |
| ② |
任务中心 |
交易主战场 |
任务列表 + 多维度筛选 + 抢单 |
| ③ |
研学与课程 |
内容/服务留存 |
课程展示 + 预约 |
| ④ |
个人中心 |
身份与认证 |
我的任务 + 飞手/商家双身份认证 + 推广 |
2.2 全量功能清单(按图 1 + 业务扩展)
| 一级 Tab |
二级入口 |
三级 / 页面 |
价值 |
优先级 |
| 首页 |
城市定位 |
定位选择 |
LBS 入口 |
P0 |
|
顶部轮播 |
CAAC 报名 / 招商 / 表演 |
运营位 |
P0 |
|
公告条 |
最新政策 / 新闻 |
内容置顶 |
P0 |
|
9 宫格金刚区(详见 2.3) |
9 个入口 |
流量分发 |
P0 |
|
供需双广场(独立菜单) |
商家发单 · 飞手接单 |
核心交易入口 |
P0 |
|
优质任务(仅 1 张) |
首页露出 1 张顶部任务 |
转化错点 |
P0 |
| 任务中心 |
筛选按钮 |
推荐 / 附近 / 高价 / 长期 |
排序入口 |
P0 |
|
⚙ 筛选按钮 |
7 组 / 55 个筛选项(右侧抽屉) |
精准筛选 |
P0 |
|
任务列表(横向大卡) |
1 优质 + 多普通任务 |
抢单入口 |
P0 |
|
任务详情 |
详情页 + IM + 接单 |
成交 |
P0 |
| 研学与课程 |
分类 Tab |
全部 / 认知启蒙 / 技能进阶 / 创新应用 / 竞赛辅导 |
内容导航 |
P0 |
|
课程列表 |
卡片列表(6门真实案例课程) |
内容/服务留存 |
P0 |
|
课程详情 |
课程信息 + 预约入口 |
深度了解 |
P0 |
|
研学预约 |
填写信息提交预约 |
核心转化 |
P0 |
| 个人中心 |
我的任务(3 态) |
待接单 / 进行中 / 已完成 |
任务管理 |
P0 |
|
飞手推广 |
老带新得积分 |
拉新 |
P0 |
|
认证与工具 |
飞手认证 / 商家认证 / 我的发布 / 实名认证 |
身份门槛 |
P0 |
|
|
飞手中心 / 商家中心 |
身份聚合 |
P0 |
2.3 首页 9 宫格金刚区(9 个入口)
| # |
入口 |
跳转 |
备注 |
| 1 |
CAAC 报名 |
报名页 |
强引流,潜在客转化 |
| 2 |
无人机表演 |
表演列表 |
高客单 |
| 3 |
实力商家 |
商家列表 |
信任锚点 |
| 4 |
本地飞手 |
飞手列表 |
信任锚点 |
| 5 |
培训考试 |
培训模块 |
留存 + 引流 |
| 6 |
发布任务 |
发布任务页(需商家认证) |
商家侧入口 |
| 7 |
我要接单 |
任务中心(需飞手认证) |
飞手侧入口 |
| 8 |
飞手推广 |
推广页(带 HOT 角标) |
拉新 |
| 9 |
滴滴打无人机 |
调度页(类打车模式) |
新功能·核心亮点 |
3. 功能关联分析(核心)
3.1 三大 Tab 关联总览
┌──────────────────────────────────────────────────────────┐
│ 首页(流量分发中枢) │
│ 轮播位 ─→ 强运营:CAAC报名 / 表演 / 招商 │
│ 公告 ─→ 政策更新、行业新闻(点击跳行业动态详情) │
│ 金刚区(9 宫格) ─→ 功能分发 │
│ ├─ CAAC报名 ──→ 飞手认证 ──→ 训练题库 │
│ ├─ 无人机表演 ──→ 任务中心(高客单任务) │
│ ├─ 实力商家 ──→ 商家认证入口(个人中心) │
│ ├─ 本地飞手 ──→ 飞手认证入口(个人中心) │
│ ├─ 培训考试 ──→ 附近商家 + 题库刷题 │
│ ├─ 发布任务 ──→ 商家认证校验(个人中心) │
│ └─ 我要接单 ──→ 飞手认证校验(个人中心) │
└──────────────────────────────────────────────────────────┘
│ │
▼ ▼
研学与课程 个人中心 · 身份
(内容留存) 飞手 ←─→ 商家
│ │
└──────────┬────────────┘
▼
┌─────────────────┐
│ 任务中心 │
│ 商家发单/飞手接单│
│ (需对应身份认证)│
└─────────────────┘
3.2 关键功能关联(10 条)
| # |
触发点 |
关联点 |
业务价值 |
| 1 |
CAAC 报名点击 |
→ 飞手认证引导页 |
流量 → 认证漏斗 |
| 2 |
实力商家 / 本地飞手 |
→ 详情页 + IM + 收藏 |
信任 → 咨询 → 成交 |
| 3 |
培训考试题库 |
→ 错题 → 课程推荐 |
学习 → 报名 → 机构 |
| 4 |
商家发单 |
→ 校验商家认证状态 |
未认证阻断 + 引导 |
| 5 |
飞手接单 |
→ 校验飞手认证 + 保险 |
风控前置 |
| 6 |
任务中心"优质任务"标签 |
→ 付费订阅 / 会员 |
GMV 提升 |
| 7 |
飞手推广 |
→ 老带新积分 |
拉新 |
| 8 |
附近商家 |
→ 定位授权 + 商家详情 |
LBS 转化 |
| 9 |
研学课程详情 |
→ 相关任务 / 商家挂载 |
内容 → 交易 |
| 11 |
滴滴打无人机 |
→ 无人机飞手网络 → 配送任务派单 |
新增核心功能 |
| 10 |
资质中心 |
→ 过期提醒 + 续期 |
长期留存 |
3.3 首页信息流(自上而下)
1. 状态栏
2. 城市定位(如:全国 / 上海)+ 消息/设置
3. 轮播图(CAAC 报名 / 招商 / 表演)
4. 公告条(最新政策 / 新闻)
5. 9 宫格金刚区(9 个入口,详见 2.3)
6. 供需双广场(独立菜单 · 仿图 1)
左卡:📤 商家发单 │ 右卡:🛩 飞手接单
7. 滴滴打无人机(同城即时配送)
地图动画示意(无人机飞手轨迹)
配送流程 4 步:骑手取货 → 无人机起飞 → 配送中 → 预计到达
底部快捷下单栏:30 分钟必达 · 支持紧急件
8. 研学体系(首页展示课程 · 2~3 张横向卡)
① [两天一晚世园无人机研学课程] ¥1,388/期
② [无人机技能进阶营(3-5天)] ¥2,680/期
③ [鄂尔多斯雏鹰计划] ¥3,200/期
3.4 任务中心 Tab
顶部筛选按钮栏:
[⚙ 筛选▾] [📍 附近] ← 推荐/高价/长期 已合并到筛选面板
点击 [⚙ 筛选] → 右侧抽屉式筛选面板(7 组 / 55 个筛选项):
· 任务分类(7) 全部 / 植保 / 航拍 / 巡检 / 表演 / 吊运 / 测绘
· 任务状态(5) 全部 / 待接单 / 已接单 / 执行中 / 已完成
· 价格预算(5+输入)不限 / 0-3千 / 3-10千 / 1-5万 / 5万以上 + 自定义
· 所在地区(9) 全国 + 8 省市
· 人员数量(5) 不限 / 1人 / 2人 / 3-5人 / 5人以上
· 发布时间(5) 全部 / 今天 / 3天内 / 本周内 / 本月内
· 其他筛选(5) 优质任务 / 含飞手险 / 长期合作 / 急单 / 团队单
主体任务卡(仿图 1 横向大卡):
· 头部:标签(分类 + 优质 + 状态)+ 地点
· 标题:粗体任务名
· 左图右信息卡:地点 / 人数 / 时间
· 底部:价格(左侧大字号)+ 操作按钮(查看附近飞手 / 去抢单)
· 描述:飞手险 + 任务详情(实景文字)
优质任务强化(仅首卡):
· 金色边框 + 米黄渐变背景 + 金色 ★ 徽标
· 金色价格 + 金色 CTA 按钮
· 右上角金色光晕
3.5 滴滴打无人机 Tab(独立 Tab)
核心定位:同城即时配送平台,配送端为无人机(类比美团/闪送,骑手换无人机)
核心业务流程:
用户下单 → 系统派单给附近无人机 → 无人机取货起飞 → 配送中(实时轨迹)→ 送达
功能清单:
· 一键下单:填写取货/收货地址 + 物品重量/类型 → 生成订单
· 配送地图:无人机轨迹实时展示(起飞点→配送中→到达)
· 配送流程:4 步追踪(骑手取货 / 无人机起飞 / 配送中 / 预计到达)
· 计价规则:按距离 + 重量 + 时效(普通件/加急件)
· 配送范围:同城 30 分钟必达,支持紧急件
· 飞手/商家入驻:认证后接入配送网络
展示 4 步配送流程示例(首页版):
① ✓ 骑手取货 09:14
② ✓ 无人机起飞 09:16 [T100 起飞]
③ 🚁 配送中 09:17 [飞行高度 120m · 时速 60km/h]
④ ◎ 预计到达 09:25 [送货上门]
底部下单栏:30 分钟内送达 · 支持紧急件 [立即下单]
3.6 研学与课程 Tab
分类 Tab:全部 / 认知启蒙 / 技能进阶 / 创新应用 / 竞赛辅导
课程卡片字段:
· 标签(热门/推荐/新开)+ 分类标签 + 对象年龄
· 课程名 + 地点 + 时长
· 课程亮点(3项展开)
· 价格 + [立即预约] 按钮
展示 6 门真实课程案例:
① 两天一晚世园无人机研学课程(北京)¥1,388/期 [热门·青少年·认知启蒙]
② 无人机技能进阶营(3-5天)¥2,680/期 [技能进阶·初中生]
③ 鄂尔多斯科技馆「雏鹰计划」(8天16课)¥3,200 [创新应用·高中生]
④ 「越州蒲公英计划」青少年无人机研学(绍兴)¥680 [竞赛辅导·青少年]
⑤ 「智趣少年营」无人机兴趣课程(社区)¥380 [趣味科普·零基础]
⑥ 「小小农发人」无人机农业研学之旅(简阳)¥280 [农业应用·亲子]
预约交互:[立即预约] → 弹出预约表单(姓名/手机/人数/备注)→ 提交成功提示
3.6 个人中心信息流(自上而下)
1. 顶部渐变区(无右上角图标):
👤 头像 + 登录/注册按钮
2. 我的任务(3 态):
[📋 待接单 2] [🛩 进行中 1] [✓ 已完成]
3. 飞手推广 Banner:
📢 邀请飞手认证 · 认证得积分 · 积分可提现 [去推广 ›]
4. 认证与工具:
上排 4:[飞手认证] [商家认证] [我的发布] [实名认证]
下排 2:[🏆飞手中心] [🏬商家中心]
❌ 已删除模块:我的服务(优惠券/商家发货/分销绑定/收货地址)、信息完善、飞手资质、商家资质、功能关联导览、个人中心右上角 3 图标(App/消息/设置)。
4. 核心流程
4.1 飞手入驻
注册 / 微信一键登录 → 飞手认证(上传 CAAC 执照 + 身份证 + 机型)→ 审核(1 工作日)→ 通过 → 进入任务中心接单
4.2 商家发单
注册 → 商家认证(营业执照 + 法人身份证 + 经营范围)→ 审核 → 通过 → 任务中心 → 发布任务(类型 / 地点 / 时间 / 预算 / 机型要求)→ 飞手接单 → 双方 IM 确认 → 线下执行 → 平台评价 → 抽佣结算
4.3 任务状态机
待接单 → 已接单(待执行)→ 执行中 → 待验收 → 已完成
↓
异常:取消 / 申诉 / 退款
4.4 认证状态机
未认证 → 资料上传中 → 审核中(≤24h)→ 已认证(有效 1 年)→ 即将过期(30 天)→ 过期
↓
续期申请
4.5 筛选交互流程
点击 [⚙ 筛选] → 右侧抽屉滑入 → 7 组筛选项可点击切换 → 自定义价格输入 → [重置全部] 或 [确认筛选 (12)] → 关闭抽屉 → 列表刷新 + 提示"筛选已应用"
5. 信息架构
5.1 页面清单(28 个)
| 模块 |
页面 |
| 通用 |
启动页、登录/注册、消息中心、定位选择 |
| 首页 |
首页、新闻列表、新闻详情、CAAC 报名、无人机表演列表 / 详情 |
| 商家 / 飞手 |
实力商家列表 / 详情、本地飞手列表 / 详情 |
| 培训 |
培训考试首页、附近商家(培训)、题库刷题、错题本 |
| 任务中心 |
任务中心首页、发布任务、我要接单、任务详情、任务管理、筛选面板 |
| 研学与课程 |
列表(全部 / 认知启蒙 / 技能进阶 / 创新应用 / 竞赛辅导)、详情、预约 |
| 我的 |
我的首页(任务 3 态)、飞手推广、飞手认证、商家认证、我的发布、实名认证、飞手中心、商家中心、关于我们 |
5.2 底部 Tab(4 个 · 按图 1 一级菜单)
- 首页:流量分发
- 任务中心:核心交易(独立 Tab · 必到)
- 行业动态:资讯流
- 个人中心:身份与认证
与图 1 一级菜单对应关系:图 1 的"首页" = 本文档的首页 + 任务中心(交易功能下沉到 Tab);图 1 的"行业动态" = 研学与课程 Tab;图 1 的"个人中心" = 同名 Tab。
6. UI 规范
6.1 色彩系统
| 用途 |
颜色 |
备注 |
| 主色 |
#5E46F6 = rgb(94,70,246) |
品牌色 · 按钮 / Tag / 强调 / Tab 选中 / 阴影 |
| 辅助紫 |
#7C6AF8 |
次级按钮、渐变起点 |
| 浅紫底 |
#F2EFFE |
页面背景、Tab 浅态 |
| 卡片白 |
#FFFFFF |
内容卡 |
| 文字主 |
#1A1730 |
标题 |
| 文字次 |
#5E5870 |
描述 |
| 文字弱 |
#9D97AE |
提示 |
| 成功 |
#22C55E |
认证通过 |
| 警告 |
#F59E0B |
即将过期 |
| 错误 |
#EF4444 |
失败 |
| 金色点缀 |
#F59E0B |
优质任务标签 / 价格 / CTA / 边框 |
6.2 字体
- iOS:PingFang SC
- Android:系统默认
- 字号阶梯:11 / 12 / 13 / 14 / 15 / 17 / 20 / 24 / 32
6.3 圆角 / 阴影
- 卡圆角:12-16 px
- 按钮圆角:8-14 px
- 头像圆角:50%
- 卡阴影:
0 2px 12px rgba(94,70,246,0.10) ——--shadow
- 任务中心卡阴影:
0 4px 16px rgba(94,70,246,0.12) ——--shadow-md
- 大阴影(轮播 / Banner):
0 8px 24px rgba(94,70,246,0.18) ——--shadow-lg
- 优质任务金色阴影:
0 6px 20px rgba(245,158,11,0.22)
7. 关键指标
| 指标 |
目标(M3) |
监控位 |
| CAAC 报名点击 → 提交转化率 |
≥ 35% |
首页轮播点击 |
| 飞手认证完成率 |
≥ 60% |
引导页漏斗 |
| 任务中心点击率 |
≥ 50% |
首页"供需双广场" + "优质任务" |
| 优质任务点击 → 接单 |
≥ 20% |
任务中心首卡 |
| 任务平均成交时长 |
≤ 4h |
任务详情 |
| 7 日留存 |
≥ 30% |
启动埋点 |
| 研学与课程 Tab PV |
首页 PV 的 30% |
Tab 切换埋点 |
| 筛选面板使用率 |
≥ 15% |
任务中心 Tab |
8. 风险与对策
| 风险 |
等级 |
对策 |
| 飞手资质造假 |
高 |
接入 CAAC 接口核验执照真伪 + 履约保证金 |
| 商家拖欠 / 跑单 |
高 |
平台担保支付 + 评价 + 黑名单 |
| 飞手人身安全 |
中 |
保险合作 + 紧急 SOS 按钮 + 行程共享 |
| 监管政策变化 |
中 |
法务对接民航局,配置审核人力 |
| 冷启动供需 |
中 |
地推:先与 3-5 家培训机构、2-3 个无人机协会合作 |
| 优质任务供给不足 |
中 |
平台补贴 + 头部商家 BD |
| 首页任务中心被弱化 |
中 |
顶部"优质任务"金色强化 + 供需双广场独立菜单导流 |
| 低空配送合规(飞行审批/空域限制) |
高 |
对接 UOM 平台获取飞行许可;设置电子围栏自动拦截禁飞区订单 |
| 配送延误/事故(天气/机械故障) |
中 |
无人机状态实时监控;天气预警自动暂停;备用机调度机制 |
9. 版本规划
| 版本 |
时间 |
内容 |
| v1.0 |
待开发 |
首页 + 任务中心 + 研学与课程 + 个人中心,4 Tab 完整功能 |
| v2.0 |
M3 |
培训题库 + 保险合作 + 智能匹配 |
| v3.0 |
M6+ |
行业 SaaS + AR 展示 + 地图找飞手 |
10. 附录:与原图功能对照表
10.1 一级菜单对照
| 图 1 一级菜单 |
本文档 Tab |
关键二级 |
| 首页 |
首页 + 任务中心 |
9 宫格 + 供需双广场 + 滴滴打无人机 + 研学体系 |
| 行业动态 |
研学与课程 |
列表 + 详情 + 预约(6 门课程) |
| 个人中心 |
个人中心 |
任务 3 态 + 飞手 / 商家双身份认证 + 推广 |
10.2 二级菜单对照
| 图 1 二级菜单 |
本文档对应 |
实现位置 |
| 新闻咨询 |
✓ |
首页轮播 + 公告(研学与课程内容) |
| CAAC 报名 |
✓ |
首页 9 宫格 #1 + 独立页 |
| 无人机表演 |
✓ |
首页 9 宫格 #2 + 独立板块 |
| 实力商家 |
✓ |
首页 9 宫格 #3 + 商家列表 |
| 本地飞手 |
✓ |
首页 9 宫格 #4 + 飞手列表 |
| 培训考试 |
✓ |
首页 9 宫格 #5 + 培训模块 |
| 供需双广场 |
✓(独立菜单) |
首页 6 区(左:商家发单 / 右:飞手接单) |
| 优质任务 |
✓ |
首页 7 区(仅 1 张金色强化卡)+ 任务中心首卡 |
| 信息完善 |
❌(已删除) |
个人中心(合并到飞手 / 商家认证流程中) |
| 飞手认证 |
✓ |
个人中心「认证与工具」上排 #1 |
| 飞手资质中心 |
❌(已删除) |
资质合并到飞手认证页面 |
| 商家认证 |
✓ |
个人中心「认证与工具」上排 #2 |
| 商家资质中心 |
❌(已删除) |
资质合并到商家认证页面 |
| 关于我们 |
✓ |
个人中心底部 |
11. 数据库设计(DDL)
数据库类型:MySQL 8.0
字符集:utf8mb4 / 排序规则:utf8mb4_unicode_ci
所有表均含 created_at / updated_at 通用字段;主键均使用 BIGINT 自增;软删除用 deleted_at
11.1 公告表 announcement
| 字段 |
类型 |
说明 |
约束 |
| id |
BIGINT |
主键 |
PK, AUTO_INCREMENT |
| title |
VARCHAR(100) |
公告标题 |
NOT NULL |
| content |
TEXT |
公告正文 |
|
| valid_from |
DATETIME |
生效开始时间 |
|
| valid_to |
DATETIME |
生效结束时间 |
|
| status |
TINYINT |
状态:0隐藏 1显示 |
DEFAULT 1 |
| sort_order |
INT |
排序,越小越靠前 |
DEFAULT 0 |
| publisher_id |
BIGINT |
发布人ID(关联user.id) |
|
| created_at |
DATETIME |
创建时间 |
DEFAULT CURRENT_TIMESTAMP |
| updated_at |
DATETIME |
更新时间 |
|
| deleted_at |
DATETIME |
软删除时间 |
|
CREATE TABLE announcement (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
title VARCHAR(100) NOT NULL COMMENT '公告标题',
content TEXT COMMENT '公告正文',
valid_from DATETIME COMMENT '生效开始时间',
valid_to DATETIME COMMENT '生效结束时间',
status TINYINT DEFAULT 1 COMMENT '状态:0隐藏 1显示',
sort_order INT DEFAULT 0 COMMENT '排序',
publisher_id BIGINT COMMENT '发布人ID',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
deleted_at DATETIME DEFAULT NULL COMMENT '软删除时间',
INDEX idx_status_sort (status, sort_order),
INDEX idx_valid_period (valid_from, valid_to)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='公告表';
11.2 任务表 task
| 字段 |
类型 |
说明 |
约束 |
| id |
BIGINT |
主键 |
PK, AUTO_INCREMENT |
| task_no |
VARCHAR(32) |
任务编号(全局唯一) |
UNIQUE |
| name |
VARCHAR(100) |
任务名称 |
NOT NULL |
| type |
VARCHAR(20) |
任务类型:植保/吊运/航拍/巡检/清洗/表演/测绘 |
NOT NULL |
| province |
VARCHAR(20) |
省份 |
|
| city |
VARCHAR(20) |
城市 |
|
| district |
VARCHAR(20) |
区县 |
|
| address |
VARCHAR(200) |
详细地址 |
|
| latitude |
DECIMAL(10,6) |
纬度坐标 |
|
| longitude |
DECIMAL(10,6) |
经度坐标 |
|
| scene_images |
JSON |
作业场景图(file_id数组) |
|
| required_count |
INT |
需求人数 |
DEFAULT 1 |
| start_time |
DATETIME |
开始时间 |
NOT NULL |
| end_time |
DATETIME |
结束时间 |
|
| reward |
DECIMAL(10,2) |
报酬(元) |
NOT NULL |
| insurance_require |
JSON |
保险要求:三者险/飞手险/机身险 |
|
| contact_name |
VARCHAR(50) |
联系人姓名 |
|
| contact_phone |
VARCHAR(20) |
联系电话 |
NOT NULL |
| remark |
TEXT |
备注 |
|
| status |
TINYINT |
状态:0草稿 1待接单 2已接单 3执行中 4已完成 5已取消 |
DEFAULT 0 |
| is_premium |
TINYINT |
是否优质任务:0否 1是 |
DEFAULT 0 |
| premium_cost |
INT |
优质任务积分消耗 |
DEFAULT 0 |
| publisher_id |
BIGINT |
发布人ID(关联user.id) |
NOT NULL |
| accepted_pilot_id |
BIGINT |
接单飞手ID(关联pilot.id) |
|
| platform_fee |
DECIMAL(10,2) |
平台服务费 |
DEFAULT 0.00 |
| created_at |
DATETIME |
创建时间 |
DEFAULT CURRENT_TIMESTAMP |
| updated_at |
DATETIME |
更新时间 |
|
| deleted_at |
DATETIME |
软删除时间 |
|
CREATE TABLE task (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
task_no VARCHAR(32) NOT NULL COMMENT '任务编号(全局唯一)',
name VARCHAR(100) NOT NULL COMMENT '任务名称',
type VARCHAR(20) NOT NULL COMMENT '任务类型:植保/吊运/航拍/巡检/清洗/表演/测绘',
province VARCHAR(20) COMMENT '省份',
city VARCHAR(20) COMMENT '城市',
district VARCHAR(20) COMMENT '区县',
address VARCHAR(200) COMMENT '详细地址',
latitude DECIMAL(10,6) COMMENT '纬度坐标',
longitude DECIMAL(10,6) COMMENT '经度坐标',
scene_images JSON COMMENT '作业场景图(file_id数组)',
required_count INT DEFAULT 1 COMMENT '需求人数',
start_time DATETIME NOT NULL COMMENT '开始时间',
end_time DATETIME COMMENT '结束时间',
reward DECIMAL(10,2) NOT NULL COMMENT '报酬(元)',
insurance_require JSON COMMENT '保险要求:三者险/飞手险/机身险',
contact_name VARCHAR(50) COMMENT '联系人姓名',
contact_phone VARCHAR(20) NOT NULL COMMENT '联系电话',
remark TEXT COMMENT '备注',
status TINYINT DEFAULT 0 COMMENT '状态:0草稿 1待接单 2已接单 3执行中 4已完成 5已取消',
is_premium TINYINT DEFAULT 0 COMMENT '是否优质任务:0否 1是',
premium_cost INT DEFAULT 0 COMMENT '优质任务积分消耗',
publisher_id BIGINT NOT NULL COMMENT '发布人ID',
accepted_pilot_id BIGINT COMMENT '接单飞手ID',
platform_fee DECIMAL(10,2) DEFAULT 0.00 COMMENT '平台服务费',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
deleted_at DATETIME DEFAULT NULL COMMENT '软删除时间',
UNIQUE KEY uk_task_no (task_no),
INDEX idx_type_status (type, status),
INDEX idx_city_status (city, status),
INDEX idx_publisher (publisher_id),
INDEX idx_pilot (accepted_pilot_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='任务表';
11.3 商家表 merchant
| 字段 |
类型 |
说明 |
约束 |
| id |
BIGINT |
主键 |
PK, AUTO_INCREMENT |
| user_id |
BIGINT |
关联用户ID |
UNIQUE, NOT NULL |
| name |
VARCHAR(100) |
商家名称 |
NOT NULL |
| address |
VARCHAR(200) |
商家地址 |
|
| door_image |
BIGINT |
门头照片file_id |
|
| license_file_id |
BIGINT |
营业执照file_id |
|
| contact_name |
VARCHAR(50) |
联系人 |
|
| contact_phone |
VARCHAR(20) |
联系电话 |
|
| latitude |
DECIMAL(10,6) |
纬度 |
|
| longitude |
DECIMAL(10,6) |
经度 |
|
| service_types |
JSON |
服务类型数组 |
|
| description |
TEXT |
商家简介 |
|
| cert_status |
TINYINT |
认证状态:0未认证 1认证中 2已认证 3认证失败 |
DEFAULT 0 |
| cert_time |
DATETIME |
认证时间 |
|
| rating |
DECIMAL(2,1) |
评分(1.0-5.0) |
DEFAULT 5.0 |
| order_count |
INT |
成交订单数 |
DEFAULT 0 |
| created_at |
DATETIME |
创建时间 |
DEFAULT CURRENT_TIMESTAMP |
| updated_at |
DATETIME |
更新时间 |
|
| deleted_at |
DATETIME |
软删除时间 |
|
CREATE TABLE merchant (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
user_id BIGINT NOT NULL COMMENT '关联用户ID',
name VARCHAR(100) NOT NULL COMMENT '商家名称',
address VARCHAR(200) COMMENT '商家地址',
door_image BIGINT COMMENT '门头照片file_id',
license_file_id BIGINT COMMENT '营业执照file_id',
contact_name VARCHAR(50) COMMENT '联系人',
contact_phone VARCHAR(20) COMMENT '联系电话',
latitude DECIMAL(10,6) COMMENT '纬度',
longitude DECIMAL(10,6) COMMENT '经度',
service_types JSON COMMENT '服务类型数组',
description TEXT COMMENT '商家简介',
cert_status TINYINT DEFAULT 0 COMMENT '认证状态:0未认证 1认证中 2已认证 3认证失败',
cert_time DATETIME COMMENT '认证时间',
rating DECIMAL(2,1) DEFAULT 5.0 COMMENT '评分(1.0-5.0)',
order_count INT DEFAULT 0 COMMENT '成交订单数',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
deleted_at DATETIME DEFAULT NULL COMMENT '软删除时间',
UNIQUE KEY uk_user (user_id),
INDEX idx_cert_status (cert_status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='商家表';
11.4 飞手表 pilot
| 字段 |
类型 |
说明 |
约束 |
| id |
BIGINT |
主键 |
PK, AUTO_INCREMENT |
| user_id |
BIGINT |
关联用户ID |
UNIQUE, NOT NULL |
| name |
VARCHAR(50) |
姓名(实名) |
NOT NULL |
| phone |
VARCHAR(20) |
手机号 |
NOT NULL |
| birthday |
DATE |
出生年月 |
|
| age |
TINYINT |
年龄(自动计算) |
|
| avatar_file_id |
BIGINT |
头像file_id |
|
| cert_status |
TINYINT |
认证状态:0未认证 1认证中 2已认证 3认证失败 |
DEFAULT 0 |
| cert_time |
DATETIME |
认证时间 |
|
| license_type |
VARCHAR(20) |
CAAC执照类型:AOPA/UTC/ASFC |
|
| license_no |
VARCHAR(50) |
CAAC执照编号 |
|
| license_file_id |
BIGINT |
执照图片file_id |
|
| drone_models |
JSON |
可操控机型数组 |
|
| service_cities |
JSON |
服务城市数组 |
|
| bio |
VARCHAR(200) |
个人简介 |
|
| rating |
DECIMAL(2,1) |
评分 |
DEFAULT 5.0 |
| order_count |
INT |
完成任务数 |
DEFAULT 0 |
| insurance_expire |
DATE |
飞手险到期日 |
|
| created_at |
DATETIME |
创建时间 |
DEFAULT CURRENT_TIMESTAMP |
| updated_at |
DATETIME |
更新时间 |
|
| deleted_at |
DATETIME |
软删除时间 |
|
CREATE TABLE pilot (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
user_id BIGINT NOT NULL COMMENT '关联用户ID',
name VARCHAR(50) NOT NULL COMMENT '姓名(实名)',
phone VARCHAR(20) NOT NULL COMMENT '手机号',
birthday DATE COMMENT '出生年月',
age TINYINT COMMENT '年龄(自动计算)',
avatar_file_id BIGINT COMMENT '头像file_id',
cert_status TINYINT DEFAULT 0 COMMENT '认证状态:0未认证 1认证中 2已认证 3认证失败',
cert_time DATETIME COMMENT '认证时间',
license_type VARCHAR(20) COMMENT 'CAAC执照类型:AOPA/UTC/ASFC',
license_no VARCHAR(50) COMMENT 'CAAC执照编号',
license_file_id BIGINT COMMENT '执照图片file_id',
drone_models JSON COMMENT '可操控机型数组',
service_cities JSON COMMENT '服务城市数组',
bio VARCHAR(200) COMMENT '个人简介',
rating DECIMAL(2,1) DEFAULT 5.0 COMMENT '评分',
order_count INT DEFAULT 0 COMMENT '完成任务数',
insurance_expire DATE COMMENT '飞手险到期日',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
deleted_at DATETIME DEFAULT NULL COMMENT '软删除时间',
UNIQUE KEY uk_user (user_id),
INDEX idx_cert_status (cert_status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='飞手表';
11.5 题库表 exam_bank
| 字段 |
类型 |
说明 |
约束 |
| id |
BIGINT |
主键 |
PK, AUTO_INCREMENT |
| name |
VARCHAR(100) |
题库名称 |
NOT NULL |
| cover_image |
BIGINT |
封面图file_id |
|
| description |
TEXT |
题库描述 |
|
| question_count |
INT |
题目数量 |
DEFAULT 0 |
| difficulty |
TINYINT |
难度:1简单 2中等 3困难 |
DEFAULT 1 |
| status |
TINYINT |
状态:0禁用 1启用 |
DEFAULT 1 |
| created_at |
DATETIME |
创建时间 |
DEFAULT CURRENT_TIMESTAMP |
| updated_at |
DATETIME |
更新时间 |
|
| deleted_at |
DATETIME |
软删除时间 |
|
CREATE TABLE exam_bank (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
name VARCHAR(100) NOT NULL COMMENT '题库名称',
cover_image BIGINT COMMENT '封面图file_id',
description TEXT COMMENT '题库描述',
question_count INT DEFAULT 0 COMMENT '题目数量',
difficulty TINYINT DEFAULT 1 COMMENT '难度:1简单 2中等 3困难',
status TINYINT DEFAULT 1 COMMENT '状态:0禁用 1启用',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
deleted_at DATETIME DEFAULT NULL COMMENT '软删除时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='题库表';
11.6 习题表 exam_question
| 字段 |
类型 |
说明 |
约束 |
| id |
BIGINT |
主键 |
PK, AUTO_INCREMENT |
| bank_id |
BIGINT |
所属题库ID |
NOT NULL |
| content |
TEXT |
题目内容 |
NOT NULL |
| options |
JSON |
选项数组(含ABCD四选项) |
|
| question_type |
TINYINT |
题型:1单选 2多选 3判断 |
NOT NULL |
| answer |
VARCHAR(10) |
标准答案(如:A 或 AB) |
NOT NULL |
| explanation |
TEXT |
答案解析 |
|
| difficulty |
TINYINT |
难度:1简单 2中等 3困难 |
DEFAULT 1 |
| score |
TINYINT |
分值(单选/多选) |
DEFAULT 5 |
| sort_order |
INT |
排序 |
DEFAULT 0 |
| used_count |
INT |
被使用次数 |
DEFAULT 0 |
| created_at |
DATETIME |
创建时间 |
DEFAULT CURRENT_TIMESTAMP |
| updated_at |
DATETIME |
更新时间 |
|
| deleted_at |
DATETIME |
软删除时间 |
|
CREATE TABLE exam_question (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
bank_id BIGINT NOT NULL COMMENT '所属题库ID',
content TEXT NOT NULL COMMENT '题目内容',
options JSON COMMENT '选项数组([{"key":"A","val":"..."},...])',
question_type TINYINT NOT NULL COMMENT '题型:1单选 2多选 3判断',
answer VARCHAR(10) NOT NULL COMMENT '标准答案(如:A 或 AB)',
explanation TEXT COMMENT '答案解析',
difficulty TINYINT DEFAULT 1 COMMENT '难度:1简单 2中等 3困难',
score TINYINT DEFAULT 5 COMMENT '分值',
sort_order INT DEFAULT 0 COMMENT '排序',
used_count INT DEFAULT 0 COMMENT '被使用次数',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
deleted_at DATETIME DEFAULT NULL COMMENT '软删除时间',
INDEX idx_bank (bank_id),
INDEX idx_type (question_type)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='习题表';
11.7 课程表 course
| 字段 |
类型 |
说明 |
约束 |
| id |
BIGINT |
主键 |
PK, AUTO_INCREMENT |
| name |
VARCHAR(100) |
课程名称 |
NOT NULL |
| tags |
JSON |
标签数组(认知启蒙/技能进阶/创新应用/竞赛辅导) |
|
| category |
VARCHAR(20) |
分类 |
|
| target_age |
VARCHAR(20) |
适合年龄 |
|
| location |
VARCHAR(200) |
上课地点 |
|
| latitude |
DECIMAL(10,6) |
纬度 |
|
| longitude |
DECIMAL(10,6) |
经度 |
|
| description |
TEXT |
课程描述 |
|
| highlights |
JSON |
课程亮点(3项) |
|
| duration_desc |
VARCHAR(50) |
课时说明 |
|
| capacity_min |
INT |
最小人数 |
DEFAULT 1 |
| capacity_max |
INT |
最大人数 |
DEFAULT 20 |
| images |
JSON |
课程图片file_id数组 |
|
| price |
DECIMAL(10,2) |
课程价格 |
NOT NULL |
| merchant_id |
BIGINT |
所属商家ID |
|
| status |
TINYINT |
状态:0下架 1上架 2已满员 |
DEFAULT 1 |
| view_count |
INT |
浏览次数 |
DEFAULT 0 |
| book_count |
INT |
已预约人数 |
DEFAULT 0 |
| rating |
DECIMAL(2,1) |
课程评分 |
DEFAULT 5.0 |
| created_at |
DATETIME |
创建时间 |
DEFAULT CURRENT_TIMESTAMP |
| updated_at |
DATETIME |
更新时间 |
|
| deleted_at |
DATETIME |
软删除时间 |
|
CREATE TABLE course (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
name VARCHAR(100) NOT NULL COMMENT '课程名称',
tags JSON COMMENT '标签数组(认知启蒙/技能进阶/创新应用/竞赛辅导)',
category VARCHAR(20) COMMENT '分类',
target_age VARCHAR(20) COMMENT '适合年龄',
location VARCHAR(200) COMMENT '上课地点',
latitude DECIMAL(10,6) COMMENT '纬度',
longitude DECIMAL(10,6) COMMENT '经度',
description TEXT COMMENT '课程描述',
highlights JSON COMMENT '课程亮点(3项)',
duration_desc VARCHAR(50) COMMENT '课时说明',
capacity_min INT DEFAULT 1 COMMENT '最小人数',
capacity_max INT DEFAULT 20 COMMENT '最大人数',
images JSON COMMENT '课程图片file_id数组',
price DECIMAL(10,2) NOT NULL COMMENT '课程价格',
merchant_id BIGINT COMMENT '所属商家ID',
status TINYINT DEFAULT 1 COMMENT '状态:0下架 1上架 2已满员',
view_count INT DEFAULT 0 COMMENT '浏览次数',
book_count INT DEFAULT 0 COMMENT '已预约人数',
rating DECIMAL(2,1) DEFAULT 5.0 COMMENT '课程评分',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
deleted_at DATETIME DEFAULT NULL COMMENT '软删除时间',
INDEX idx_category (category),
INDEX idx_status (status),
INDEX idx_merchant (merchant_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='课程表';
11.8 用户表 user
| 字段 |
类型 |
说明 |
约束 |
| id |
BIGINT |
主键 |
PK, AUTO_INCREMENT |
| openid |
VARCHAR(64) |
微信openId |
UNIQUE, NOT NULL |
| nickname |
VARCHAR(50) |
用户昵称 |
|
| avatar_url |
VARCHAR(500) |
头像URL |
|
| phone |
VARCHAR(20) |
手机号 |
|
| gender |
TINYINT |
性别:0未知 1男 2女 |
DEFAULT 0 |
| bio |
VARCHAR(200) |
个人简介 |
|
| role_type |
TINYINT |
角色类型:1普通用户 2飞手 3商家 4机构 |
DEFAULT 1 |
| points |
INT |
积分余额 |
DEFAULT 0 |
| is_pilot_bound |
TINYINT |
是否已绑定飞手身份 |
DEFAULT 0 |
| is_merchant_bound |
TINYINT |
是否已绑定商家身份 |
DEFAULT 0 |
| pilot_id |
BIGINT |
关联飞手ID |
|
| merchant_id |
BIGINT |
关联商家ID |
|
| status |
TINYINT |
账号状态:0禁用 1正常 |
DEFAULT 1 |
| last_login_at |
DATETIME |
最后登录时间 |
|
| created_at |
DATETIME |
注册时间 |
DEFAULT CURRENT_TIMESTAMP |
| updated_at |
DATETIME |
更新时间 |
|
| deleted_at |
DATETIME |
软删除时间 |
|
CREATE TABLE `user` (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
openid VARCHAR(64) NOT NULL COMMENT '微信openId',
nickname VARCHAR(50) COMMENT '用户昵称',
avatar_url VARCHAR(500) COMMENT '头像URL',
phone VARCHAR(20) COMMENT '手机号',
gender TINYINT DEFAULT 0 COMMENT '性别:0未知 1男 2女',
bio VARCHAR(200) COMMENT '个人简介',
role_type TINYINT DEFAULT 1 COMMENT '角色类型:1普通用户 2飞手 3商家 4机构',
points INT DEFAULT 0 COMMENT '积分余额',
is_pilot_bound TINYINT DEFAULT 0 COMMENT '是否已绑定飞手身份',
is_merchant_bound TINYINT DEFAULT 0 COMMENT '是否已绑定商家身份',
pilot_id BIGINT COMMENT '关联飞手ID',
merchant_id BIGINT COMMENT '关联商家ID',
status TINYINT DEFAULT 1 COMMENT '账号状态:0禁用 1正常',
last_login_at DATETIME COMMENT '最后登录时间',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '注册时间',
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
deleted_at DATETIME DEFAULT NULL COMMENT '软删除时间',
UNIQUE KEY uk_openid (openid),
INDEX idx_phone (phone)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户表';
11.9 任务执行记录表 task_record
| 字段 |
类型 |
说明 |
约束 |
| id |
BIGINT |
主键 |
PK, AUTO_INCREMENT |
| task_id |
BIGINT |
任务ID |
NOT NULL |
| user_id |
BIGINT |
关联用户ID |
NOT NULL |
| pilot_id |
BIGINT |
接单飞手ID |
|
| merchant_id |
BIGINT |
发单商家ID |
|
| status |
TINYINT |
状态:1待接单 2已接单 3执行中 4已完成 5已取消 |
DEFAULT 1 |
| apply_time |
DATETIME |
申请/接单时间 |
|
| accept_time |
DATETIME |
飞手接单时间 |
|
| start_time |
DATETIME |
实际开始时间 |
|
| finish_time |
DATETIME |
完成时间 |
|
| cancel_time |
DATETIME |
取消时间 |
|
| cancel_reason |
VARCHAR(200) |
取消原因 |
|
| insurance_verified |
TINYINT |
保险是否校验:0否 1是 |
DEFAULT 0 |
| actual_reward |
DECIMAL(10,2) |
实际报酬 |
|
| platform_fee |
DECIMAL(10,2) |
平台服务费 |
|
| rating |
TINYINT |
用户评分(1-5) |
|
| rating_comment |
VARCHAR(200) |
评价内容 |
|
| created_at |
DATETIME |
创建时间 |
DEFAULT CURRENT_TIMESTAMP |
| updated_at |
DATETIME |
更新时间 |
|
| deleted_at |
DATETIME |
软删除时间 |
|
CREATE TABLE task_record (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
task_id BIGINT NOT NULL COMMENT '任务ID',
user_id BIGINT NOT NULL COMMENT '关联用户ID',
pilot_id BIGINT COMMENT '接单飞手ID',
merchant_id BIGINT COMMENT '发单商家ID',
status TINYINT DEFAULT 1 COMMENT '状态:1待接单 2已接单 3执行中 4已完成 5已取消',
apply_time DATETIME COMMENT '申请/接单时间',
accept_time DATETIME COMMENT '飞手接单时间',
start_time DATETIME COMMENT '实际开始时间',
finish_time DATETIME COMMENT '完成时间',
cancel_time DATETIME COMMENT '取消时间',
cancel_reason VARCHAR(200) COMMENT '取消原因',
insurance_verified TINYINT DEFAULT 0 COMMENT '保险是否校验:0否 1是',
actual_reward DECIMAL(10,2) COMMENT '实际报酬',
platform_fee DECIMAL(10,2) COMMENT '平台服务费',
rating TINYINT COMMENT '用户评分(1-5)',
rating_comment VARCHAR(200) COMMENT '评价内容',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
deleted_at DATETIME DEFAULT NULL COMMENT '软删除时间',
UNIQUE KEY uk_task_user (task_id, user_id),
INDEX idx_user_status (user_id, status),
INDEX idx_pilot_status (pilot_id, status)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='任务执行记录表';
11.10 文件表 file
| 字段 |
类型 |
说明 |
约束 |
| id |
BIGINT |
主键 |
PK, AUTO_INCREMENT |
| file_name |
VARCHAR(200) |
原始文件名 |
NOT NULL |
| file_key |
VARCHAR(200) |
存储路径/OSS Key |
NOT NULL |
| file_suffix |
VARCHAR(10) |
文件后缀 |
|
| file_url |
VARCHAR(500) |
访问URL |
|
| file_size |
BIGINT |
文件大小(字节) |
|
| file_type |
VARCHAR(20) |
类型:营业执照/图片/飞手执照/其他 |
|
| uploader_id |
BIGINT |
上传用户ID |
|
| status |
TINYINT |
状态:0禁用 1正常 |
DEFAULT 1 |
| created_at |
DATETIME |
上传时间 |
DEFAULT CURRENT_TIMESTAMP |
| deleted_at |
DATETIME |
软删除时间 |
|
CREATE TABLE `file` (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
file_name VARCHAR(200) NOT NULL COMMENT '原始文件名',
file_key VARCHAR(200) NOT NULL COMMENT '存储路径/OSS Key',
file_suffix VARCHAR(10) COMMENT '文件后缀',
file_url VARCHAR(500) COMMENT '访问URL',
file_size BIGINT COMMENT '文件大小(字节)',
file_type VARCHAR(20) COMMENT '类型:营业执照/图片/飞手执照/其他',
uploader_id BIGINT COMMENT '上传用户ID',
status TINYINT DEFAULT 1 COMMENT '状态:0禁用 1正常',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '上传时间',
deleted_at DATETIME DEFAULT NULL COMMENT '软删除时间',
INDEX idx_type (file_type),
INDEX idx_uploader (uploader_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='文件表';
11.11 课程预约表 course_appointment
| 字段 |
类型 |
说明 |
约束 |
| id |
BIGINT |
主键 |
PK, AUTO_INCREMENT |
| user_id |
BIGINT |
用户ID |
NOT NULL |
| course_id |
BIGINT |
课程ID |
NOT NULL |
| merchant_id |
BIGINT |
商家ID |
|
| appointment_date |
DATETIME |
预约时间 |
NOT NULL |
| person_count |
INT |
预约人数 |
DEFAULT 1 |
| contact_name |
VARCHAR(50) |
联系人姓名 |
|
| contact_phone |
VARCHAR(20) |
联系人电话 |
|
| remark |
VARCHAR(200) |
备注 |
|
| status |
TINYINT |
状态:1已预约 2已确认 3已完成 4已取消 |
DEFAULT 1 |
| confirm_time |
DATETIME |
商家确认时间 |
|
| cancel_time |
DATETIME |
取消时间 |
|
| cancel_reason |
VARCHAR(200) |
取消原因 |
|
| amount |
DECIMAL(10,2) |
支付金额 |
DEFAULT 0.00 |
| pay_status |
TINYINT |
支付状态:0未支付 1已支付 2已退款 |
DEFAULT 0 |
| created_at |
DATETIME |
预约时间 |
DEFAULT CURRENT_TIMESTAMP |
| updated_at |
DATETIME |
更新时间 |
|
| deleted_at |
DATETIME |
软删除时间 |
|
CREATE TABLE course_appointment (
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',
user_id BIGINT NOT NULL COMMENT '用户ID',
course_id BIGINT NOT NULL COMMENT '课程ID',
merchant_id BIGINT COMMENT '商家ID',
appointment_date DATETIME NOT NULL COMMENT '预约时间',
person_count INT DEFAULT 1 COMMENT '预约人数',
contact_name VARCHAR(50) COMMENT '联系人姓名',
contact_phone VARCHAR(20) COMMENT '联系人电话',
remark VARCHAR(200) COMMENT '备注',
status TINYINT DEFAULT 1 COMMENT '状态:1已预约 2已确认 3已完成 4已取消',
confirm_time DATETIME COMMENT '商家确认时间',
cancel_time DATETIME COMMENT '取消时间',
cancel_reason VARCHAR(200) COMMENT '取消原因',
amount DECIMAL(10,2) DEFAULT 0.00 COMMENT '支付金额',
pay_status TINYINT DEFAULT 0 COMMENT '支付状态:0未支付 1已支付 2已退款',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '预约时间',
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
deleted_at DATETIME DEFAULT NULL COMMENT '软删除时间',
UNIQUE KEY uk_user_course_date (user_id, course_id, appointment_date),
INDEX idx_course_status (course_id, status),
INDEX idx_merchant (merchant_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='课程预约表';
11.12 表间关系(ER)
user ─────┬── 1:1 pilot(飞手身份)
└── 1:1 merchant(商家身份)
└── 1:N task_record(我的任务)
└── 1:N course_appointment(课程预约)
pilot ────── N:1 task_record(接单飞手)
merchant ─── N:1 task_record(发单商家)
N:1 course(商家开课)
task ──────── 1:1 task_record(任务→执行记录)
course ────── 1:N course_appointment(课程→预约)
file ──────── N:1 user(上传者)
N:1 pilot(执照图片)
N:1 merchant(营业执照)
N:1 task(作业场景图)
N:1 course(课程图片)
exam_bank ── 1:N exam_question(题库→习题)