Files
medical-mall/docs/home-service/HOME_SERVICE_PACKAGE_PRICING_TEST_DATA_README.md

3.5 KiB
Raw Blame History

居家服务套餐价格联调测试数据说明

1. 为什么增加该批测试数据

当前消费者端服务详情页的套餐价格来自页面内 mock无法验证正式数据库查询路径、服务订单金额冻结、待付款金额回显与支付页展示的一致性。该批数据用于把联调切换到正式表结构和正式查询链路。

2. 使用了哪些表

  • hss_service_catalog现有服务目录表。
  • hss_service_packages本次新增的正式套餐/报价表。
  • hss_service_orders本次补充 service_package_id、pricing_snapshot_json、original_amount、payable_amount、total_amount 金额快照字段。

3. Seed Batch 编号

  • DEV_HOME_SERVICE_PACKAGE_V1

4. 哪些页面和接口依赖这些测试数据

  • pages/mall/consumer/home-service/service-detail.uvue
  • pages/mall/consumer/payment.uvue
  • pages/mall/consumer/payment-success.uvue
  • pages/mall/consumer/home-service/order-detail.uvue
  • services/homeServiceService.uts
  • services/serviceOrderService.uts
  • utils/supabaseService.uts

5. 如何执行 seed

执行顺序:

  1. 先执行 mall_sql/migrations/20260601_hss_service_package_pricing_v1.sql。
  2. 再执行 mall_sql/tests/dev_home_service_package_pricing_seed.sql。
  3. 执行后确认 hss_service_packages 中存在 data_source = dev_seed 且 seed_batch_no = DEV_HOME_SERVICE_PACKAGE_V1 的记录。

建议校验 SQL

SELECT id, service_id, package_name, duration_text, price, status, data_source, seed_batch_no
FROM public.hss_service_packages
WHERE seed_batch_no = 'DEV_HOME_SERVICE_PACKAGE_V1'
ORDER BY service_id, sort_no;

6. 如何执行 cleanup

执行 mall_sql/tests/dev_home_service_package_pricing_cleanup.sql。

该脚本只会停用并软删除 DEV_HOME_SERVICE_PACKAGE_V1 批次的测试套餐,不会删除服务目录,也不会破坏已生成订单的金额快照。

7. 为什么不能用于生产真实支付

  • 该批套餐明确标记为 dev_seed。
  • 套餐名称带有 测试 标记,仅用于开发联调。
  • 套餐价格不代表正式生产报价。
  • 若生产环境误读该数据,将导致真实支付金额错误。

8. 上线前需要替换哪些数据

  • 导入正式 hss_service_packages 套餐数据。
  • 停用或清理 DEV_HOME_SERVICE_PACKAGE_V1。
  • 确认消费者查询链路不再返回 dev_seed 数据。
  • 确认新订单只冻结正式套餐价格。

9. 数据清理失败时如何排查

  • 检查 hss_service_packages 是否已存在同批次记录但 remark 或 data_source 被手工改动。
  • 检查服务详情页是否仍然请求页面 mock 而不是正式查询接口。
  • 检查 hss_service_orders 是否已正确写入 pricing_snapshot_json 和 total_amount / payable_amount。
  • 检查消费者端是否继续从 URL amount 或 service_snapshot_json.price 回退展示金额。

10. 负责人检查项

  • 已确认测试环境和正式环境的数据边界。
  • 已确认 DEV_HOME_SERVICE_PACKAGE_V1 只用于联调。
  • 已确认上线前有人执行 cleanup 或完成正式数据切换。
  • 已确认支付页金额来源是订单冻结快照,不是页面 mock 或 URL amount。

11. 回滚方式

  • 若 migration 已执行但尚未接入前端,可只执行 cleanup 并停止读取 hss_service_packages。
  • 若需回退结构,请先确认没有正式或测试订单引用 service_package_id再人工评估是否移除 hss_service_orders 新字段和 hss_service_packages 表。
  • 已生成订单时禁止直接删除订单金额快照字段。

12. 统一上线提醒关键词

  • PROD_HOME_SERVICE_PRICING_SWITCH
  • DEV_HOME_SERVICE_PACKAGE_V1