Q04 · 商户资料完整性巡检包(WIP-318 · 小齐 R9+R10)

版本:v1.0|执行:小齐|时间:2026-09-14 00:2x|基线 HEAD:9b88ece9(推送后 c833f77d)
依据设计文档:docs/reports/gpt6-评审-2026-09-13/03-波波小齐苦力活长线包设计.md(14 要素 / 12 字段证据 / P0-P3)
依赖:B05(波波商户入驻资料模型)、现有商户接口;不改核心代码,缺陷回原包

1. 包名称与目标

Q04「商户资料完整性巡检包」。目标:对商户域 9 项字段域(资料/联系人/收款账户/资质证照/staff/角色权限/状态/营业时间/位置坐标)做字段存在性、接口暴露与脱敏、权限一致性核验。

2. 本次覆盖范围

3. 明确不覆盖范围

4. 涉及接口/文件/文档边界

5. 字段定义(9 项字段域)

#字段域判定口径
①基本资料名称/业态/区域/简介/形象
②联系人联系人姓名与电话
③收款账户结算账户/开户信息
④资质证照营业执照/许可
⑤staff员工归属
⑥角色权限岗位与权限
⑦状态商户/员工/申请状态
⑧营业时间营业时段
⑨位置坐标经纬度

6. 成功路径

登录 staging 库取 information_schema.columns → 逐域比对字段 → 调公开商户接口取响应字段 → 判定脱敏与完整性。

7. 异常路径

8. 幂等与重复请求规则

全部为只读查询;可重复执行,证据按版本落盘。

9. 权限与审计要求

10. 与现有实现的差异

项设计/预期实测
营业时间应有承载字段全库无营业时间字段
收款账户应有承载字段merchants 无账户字段,仅有 payment_mode/offline_direct_flag
资质证照入驻后应留存仅 merchant_applications.business_license(申请期),正式商户表无
评分红线口径"商户平等·无评分"待拍板merchant_profiles.rating/review_count 存在且接口返回 rating/reviewCount

11. 依赖与阻塞项

12. 待核心席确认事项

  1. 营业时间是否需要?若需要,属 B05 定义还是后端直接加列?
  2. 收款账户承载位置(merchants 加列 / 支付域独立表)?涉敏感,须核心席定
  3. 公开商户列表是否应返回 phone?(当前明文返回)
  4. rating/reviewCount 与"商户平等·无评分"红线的最终口径(关联 OBS-01,待刘总拍板)

13. 验收证据

13.1 表与列清单(staging 实测,information_schema.columns)

13.2 九域巡检结果

#字段域承载结果
①基本资料merchants + merchant_profiles✅ 在位
②联系人merchant_profiles.phone;merchant_applications.contact_name/phone✅ 在位(接口明文暴露,见 D-02)
③收款账户无 bank/settlement 列⚠️ GAP(待核心席确认承载位置)
④资质证照仅申请期 business_license⚠️ 入驻后无留存
⑤staffmerchant_staff✅
⑥角色权限merchant_staff.role + merchant_positions + merchant_position_perms✅
⑦状态merchants.status / merchant_staff.status / merchant_applications.status✅
⑧营业时间无🔴 GAP 缺失
⑨位置坐标merchant_profiles.lat/lng✅ 字段在位(样例值 0,0=未录入)

13.3 接口暴露(实接口)

13.4 缺陷单

🟡 Q04-D01|营业时间字段缺失(P2 一般)

🟡 Q04-D02|收款账户无承载字段(P2 一般 · 涉敏感)

🟡 Q04-D03|公开接口明文返回商户电话(P2 一般)

⚪ 观察项(不记缺陷,关联 OBS-01 待刘总拍板)

14. 版本号与变更摘要