# 居家服务套餐价格联调测试数据说明 ## 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: ```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