# 小程序核心业务联调 Checklist

适用范围：

- `route`
- `leisure`
- `culture`
- `explain`
- `heritage`
- `study`

目标：

- 后台主数据可维护
- 小程序列表/详情可读取
- 预约/报名可提交
- 成功页可按 `orderId` 回查
- 全局搜索 `search/global` 可命中对应业务

---

## 一、数据库准备

按模块执行 SQL。

### 1. 必执行脚本

- `business-route/route_schema.sql`
- `business-route/route_seed.sql`
- `business-culture/culture_schema.sql`
- `business-guide/guide_schema.sql`
- `business-study/src/main/resources/sql/study.sql`
- `business-leisure` 对应建表脚本
- `business-village` 对应建表脚本
- `business-yearcard` 对应建表脚本

### 2. 重点核查表

- `biz_route_plan`
- `biz_route_stop`
- `app_route_trip_order`
- `biz_culture_activity`
- `app_culture_enroll_order`
- `biz_explain_spot`
- `biz_explain_audio_track`
- `biz_explain_guide_package`
- `app_explain_booking_order`
- `biz_heritage_project`
- `biz_heritage_experience_package`
- `biz_heritage_culture_product`
- `app_heritage_booking_order`
- `biz_study_program`
- `biz_study_package`
- `app_study_booking_order`
- `biz_leisure_venue`
- `biz_leisure_package`
- `app_leisure_booking_order`

### 3. 数据检查

- 所有主表 `del_flag='0'`
- 所有主数据 `status=1`
- 所有关联附表已挂到正确主表 ID
- `sort_no` / `sort_order` 有默认值

---

## 二、菜单权限准备

执行或导入以下菜单脚本：

- `business-route/route_menu_permission.sql`
- `business-culture/culture_menu_permission.sql`
- `business-guide/guide_menu_permission.sql`
- `business-leisure/leisure_menu_permission.sql`
- `business-study/study_menu_permission.sql`
- `business-village/village_menu_permission.sql`
- `business-yearcard/yearcard_menu_permission.sql`

核查：

- 菜单父节点 `biz_root` 已存在
- 角色已绑定对应菜单
- 管理端路由能正常打开

重点页面：

- `/business/route/plan`
- `/business/route/stop`
- `/business/route/tripOrder`
- `/business/culture/activity`
- `/business/culture/enroll`
- `/business/explain/spot`
- `/business/explain/audioTrack`
- `/business/explain/guidePackage`
- `/business/explain/booking`
- `/business/heritage/cultureProduct`
- `/business/heritage/project`
- `/business/heritage/experiencePackage`
- `/business/heritage/booking`
- `/business/study/program`
- `/business/study/package`
- `/business/study/booking`

---

## 三、启动工程检查

确认以下模块已被聚合：

- `jeesharp-business/pom.xml`
- `business-mobile-gateway/pom.xml`
- `web-starter/pom.xml`

确认以下 controller 已能被启动工程扫描到：

- `RoutePlanController`
- `RouteStopController`
- `RouteTripOrderController`
- `CultureActivityController`
- `CultureEnrollOrderController`
- `ExplainSpotController`
- `ExplainBookingOrderController`
- `HeritageProjectController`
- `HeritageCultureProductController`
- `HeritageBookingOrderController`
- `StudyProgramController`
- `StudyPackageController`
- `StudyBookingOrderController`

---

## 四、后台建数顺序

### 1. 路线规划

1. 建线路
2. 建站点
3. 校验小程序 `/route/plans`、`/route/plan/{id}`

### 2. 文旅活动

1. 建活动主数据
2. 状态设为 `published`
3. 剩余名额 `quota_left > 0`
4. 校验小程序 `/culture/activities`、`/culture/activity/{id}`

### 3. 游览讲解

1. 建讲解点
2. 建音轨
3. 建讲解套餐
4. 校验小程序 `/explain/spots`、`/explain/spot/{id}`

### 4. 非遗文化

1. 建文创
2. 建非遗项目
3. 建体验套餐
4. 如有需要，给项目挂 `relatedCultureProductId`
5. 校验小程序 `/heritage/projects`、`/heritage/project/{id}`

### 5. 研学团建

1. 建方案
2. 建套餐
3. 校验小程序 `/study/programs`、`/study/program/{id}`

---

## 五、小程序链路联调

### 1. route

- 打开线路列表
- 打开详情
- 点击“加入我的行程”
- 校验：
  - `POST /route/trip/create`
  - `GET /route/trip/result/{orderId}`
  - 成功页展示正常

### 2. culture

- 打开活动列表
- 打开活动详情
- 填写姓名、手机号、人数
- 提交报名
- 校验：
  - `POST /culture/activity/enroll`
  - `GET /culture/activity/enroll/result/{id}`
  - `app_culture_enroll_order` 已落单

### 3. explain

- 打开讲解点列表
- 打开讲解详情
- 选择讲解套餐
- 填写手机号
- 提交预约
- 校验：
  - `POST /explain/booking/create`
  - `GET /explain/booking/result/{orderId}`
  - `app_explain_booking_order` 已落单

### 4. heritage

- 打开非遗项目详情
- 选择体验套餐
- 填写手机号
- 提交预约
- 校验：
  - `POST /heritage/booking/create`
  - `GET /heritage/booking/result/{orderId}`
  - `app_heritage_booking_order` 已落单

### 5. study

- 打开研学方案详情
- 选择套餐
- 填写手机号
- 提交预约
- 校验：
  - `POST /study/booking/create`
  - `GET /study/booking/result/{orderId}`
  - `app_study_booking_order` 已落单

---

## 六、后台结果回查

提交成功后，用成功页带回的 `orderId` / `id` 在后台验证：

- 活动报名单：`/business/culture/enroll`
- 讲解预约单：`/business/explain/booking`
- 非遗预约单：`/business/heritage/booking`
- 研学预约单：`/business/study/booking`
- 路线行程单：`/business/route/tripOrder`

核查字段：

- `orderId`
- `verifyCode`
- `statusLabel` / 状态字段
- `resultPayloadJson`
- `createDate`

---

## 七、搜索联调

接口：

- `GET /search/global?keyword=...`

当前应能命中：

- `route`
- `leisure`
- `study`
- `explain`
- `heritage`
- `culture`

核查点：

- `bizType`
- `title`
- `subtitle`
- `cover`
- `route`
- `extra`

---

## 八、验收口径

满足以下条件即可认为本轮联调完成：

- 主数据后台可维护
- 小程序列表/详情均可读取正式数据
- 预约/报名提交均可落正式业务单
- 成功页支持 `orderId` 回查
- 后台能按单据 ID 查看结果
- `search/global` 可命中六类业务

---

## 九、已知后续项

- 预约/报名后台页目前是“最小查询版”，还不是完整分页运营台
- `MiniAppExperienceSupportService` 仍保留少量搜索/演示托底逻辑，可继续瘦身
- Maven / TS 的全仓编译环境问题仍需单独处理
